I think we should not only make competitions who creates the best game or demo, but join efforts in creation of the universal diagnostics ROM that could help to identify common problems in our MSX machines and report them even if there's no audio and video outputs from a computer. Sadly, my proposal to create such a project was not taken seriously.
This is exactly what I've been thinking for a while and makes a lot of sense to implement. And I would like to start coding something like that once I find the time..
The thing with MSX architecture is that it's very difficult to a) disable internal bios from cart and b) make the CPU boot arbitrary rom at $0000 from cart, like C64 dead test does. Some Philips machines have a diagnostics switch that enables such a thing, but it's far from universal if it only works on those, and the Philips diags cart already exists.
It would make more sense to approach it like the Amiga DiagROM, an eprom that you can plug instead of the main bios rom. It's feasible to write test code that doesn't use RAM, no STACK, so basic diagnostics could be done. Out of band debug output is difficult since RS232 isn't standard on MSX. Screen flashing could work, but then VDP and analog out needs be working. Maybe a small parallel port dongle with LEDs, since every MSX has a parallel port?
Btw - I almost forgot to say that I really like your Leds cart Alexey, it would be useful to diagnose things like stuck bits on databus
Thanks for the nice feedback.
Yes, replacing the ROM with a custom one would be a very good idea. The ROM could run from power on and it could do in-depth diagnostics of the machine and output the data onto the special cartridge with a decoder and its own screen. So the code in ROM will send the results to the cartridge using some simple protocol, the cartridge would decode the messages and display them on the screen. This way it would be possible to see the test results and errors if the video output doesn't work. At the same time that cartridge could have voltage sensors as well as a small microcontroller to sense the clock, verify the proper Reset signal action and maybe analyze other signals.
Creating such solution is not a trivial task. And not everyone will be brave enough to disassemble his computer, replace the ROM chip and do the testing. That is why a simple diagnostics cartridge like this one with the special ROM could be a good alternative.
Well sounds to me like having a basic and a pro version could be helpful. In my opinion adding RAM to the cart could also be helpful. And if you can get Sharksym on board I think he possibly has the knowledge to bypass the bios rom in slot 0 as he’s doing similar things in paraMSX-R and the new SLT-X.
AFAIK it is not possible to really bypass the MSX booting from the BIOS in slot 0 / 0-0. At (cold) power up the reset signal will make sure the PPI is reset so it outputs all zero's thereby selecting slot 0 / 0-0. After that the Z80 just executes code from 0000h.
Only with an altered BIOS or hardware you could make the MSX boot from an other slot then 0/0-0.
So unfortunately your MSX has to be half decently working before it would be able to execute diag software in a cartridge slot (unlike on some other systems).
Well sounds to me like having a basic and a pro version could be helpful. In my opinion adding RAM to the cart could also be helpful. And if you can get Sharksym on board I think he possibly has the knowledge to bypass the bios rom in slot 0 as he’s doing similar things in paraMSX-R and the new SLT-X.
It would be good to have a team of real professionals, and Sharksym is one of the best. But i still think that there are no way to bypass BIOS:
1) paraMSX runs after its tool which runs from DOS so first you have to boot into real thing to run the tool (and afterwards it works similarly to SD/MMC GameRunner modes, which is not bypassing BIOS but rather running something in virtualized address space with another BIOS you want)
2) SLT-X also takes some control only after SLT-X BIOS is called from MSX BIOS, so i have real doubts if MSX BIOS or RAM is broken it will run fine by just inserting SLT-X otherwise there would be a lot of projects like "insert this cartridge into your MSX and turn it to Colecovision"
Yes i know about Playsoniq and even have one, it can run some Sega on MSX but have still to be booted into MSX first. If it were possible to run without MSX BIOS involved i'm sure SuperSoniqs would just add SD card slot and do browsing and loading of games straight after booting (MiST firmwares style), so you don't have to learn how to use the supplied DOS tools
Yesterday I was diagnosing the broken Sanyo PHC-35J from Japan with this cartridge. There was only a black screen on power-on, the CAPS didn't work as well as STOP button. I inserted the cartridge into the slot and powered the machine on. I immediately saw that all voltages were within their normal limits, that the clock signal was working as well as the RST signal (keep reset button pressed to check - it must be low and go high on release).
Then I looked at the blinking data and address line signal LEDs and I noticed that all signals were alive. Also, I noticed the pattern - the BIOS was trying to start, but at some point crashed and rebooted without showing anything on the screen. This was going in a loop, so I suspected that some system variables in RAM could not be set. I quickly desoldered (thanks to my ZD-915 and single sided board) both RAM chips and tested them. They were both busted! After replacing them the machine was alive again, probably after many years in the storage.
So, even with such a primitive tester, the time to diagnose and repair a computer can be significantly reduced. For me it took 30 minutes to repair the computer. Would you like to have this device at home? I currently have 5 boards - 1 assembled that I keep to myself, 2 reserved to be sent as kits to assemble the device and 2 more as spares.
I have all parts to assemble 1 device or to make it a kit for assembling. The remaining board can be also sold separately or as a kit - I can provide most of the parts for it except for GAL chips, voltmeters and voltage converters. But if there is an interest, I can buy the missing parts.
If you would like to buy a kit or assembled board(s), please contact me.
I'm interessted in one ready made board, Alexey.
I'm interessted in one ready made board, Alexey.
Sure, please send me an e-mail.
If I get 4 more orders for this cartridge, I will make a new batch. Please contact me by e-mail if interested.
The price for the kit is 49 Euro + shipment. The price for the assembled board is 65 Euro + shipment. Will ship only to EU countries.
Nice work Alexey!
I use a DIY cartridge with a voltimeter and an arduino osc. based, for test and check msx CHIPs and signals and a flashrom cartridge for repair broken eprom burning flashrom chips.
https://www.flickr.com/photos/44218601@N06/albums/7215771836...