COMMUNICATOR RS232 v1.0

COMMUNICATOR RS232 v1.0

by PAC on 17-05-2014, 16:50
Topic: Software
Languages:

Spanish user Manuel Villegas (Manel46) has dusted off a tool he developed in the 90's, a communication program that enables us to load files in our MSX computers from a PC through a serial cable. Manuel, who recently came back to the MSX scene, brings us the cheapest and easiest way to take advantage of those MSX computers without FDD nor HDD/SD interface. Yes, perhaps nothing new seeing modern solutions like Nowind but keep in mind it was coded in 1994!

The program concept is simple, select the start and end address, store the data in RAM and then run it by DEFUSR command. For the moment .BIN and small .ROM files have been tested successfully. Please note that some knowledge about how the MSX memory works is required in order to use the program properly. This is why some improvements are expected in future versions such as a bit more automated process and a more friendly interface accessible to everyone. Suggestions and support are welcome.

Requirements/features:

  • MSX with at least 32Kb RAM (recommended)
  • Transfer rate 9600 bauds

The cable diagram is included along with documentation, WAV file and source code.

Relevant link: Communicator RS232 v1.0

Comments (23)

By Grauw

Enlighted (5536)

Grauw's picture

17-05-2014, 17:00

This is great! Very handy for development. I read the developer of R-Type for ZX Spectrum used a similar set-up. I don’t have a Nowind so if I ever need to test my programs frequently on a real MSX I would probably use this method.

By Manel46

Master (160)

Manel46's picture

17-05-2014, 20:55

Thanks for the comment, Grauw.

By mtn

Master (215)

mtn's picture

18-05-2014, 13:21

Very nice of you to include the source aswell.

By anonymous

incognito ergo sum (109)

anonymous's picture

18-05-2014, 13:30

Download have been updated with the WAV file (also newspost). If we have an MSX without extrenal drives, how to load the program? Tongue Please download it again in that case.

By Manel46

Master (160)

Manel46's picture

18-05-2014, 14:14

Thanks a lot friend PAC, and also to
mtn, for the comments.

By Pat

Expert (66)

Pat's picture

26-05-2014, 22:16

For those without a com port nowadays, check out the ftdi cables to bridge between usb and uart/rs232: various voltage levels available.

By Manel46

Master (160)

Manel46's picture

26-05-2014, 23:32

Pat. Thanks.
I bought a USB-RS232 DP9, cable for about 15 Euros.

By msxholder

Champion (281)

msxholder's picture

03-06-2014, 20:51

All these times Ascii provided that in the tools.
Spectravideo had it also with it's RS232
Any program ,data, Ml can be send trough serial cable

By Manel46

Master (160)

Manel46's picture

04-06-2014, 15:50

msxholder
Thanks for the imformation
Experiences that we have with the program?

By Manel46

Master (160)

Manel46's picture

17-05-2017, 16:30

I want to take advantage of this entry to remind you that the version, more practical is v2.1, which is the one I am using to test small roms in real HW, including Powergraph.
I tried to increase the transfer speed, but for lack of knowledge of the rs232 protocol, I could not get it. It is now 100% safe at 9600 baud, due to the large data entry tolerance of the receiver. There is no communication with the sender during the transfer.
Is very practical, as I say I use it to test roms up to 48 KBs in my TR ST with MFR.
Has anyone tried it?

By Louthrax

Paragon (1343)

Louthrax's picture

17-05-2017, 16:59

Hi Manel,

I have not tried that yet, but had in mind a "disk-driver" interface for your system: the MSX would first need to load a modified "disk driver ROM" (that could be placed in memory mapper or in a ROM device). This modified "disk driver ROM" would send the sector number to read or write to the PC, and the PC would send the sector data back or modify the disk image accordingly with the sector data sent from MSX.

I'm pretty sure that this would work (assuming communication can be done in both ways). That would be the cheapest MSX disk system available (OK, maybe not the fastest).

Won't have time to work on this, but I can help if someone's interested.

By Manel46

Master (160)

Manel46's picture

17-05-2017, 17:21

Hi Louthrax,

Communication is effective in both directions. But to load roms only the receiver is used .

The problem I see, in what you say, is that you would have to implement a program on the PC, for this dialogue, with the MSX. This is beyond my means.

But maybe somebody wants to help ...

By Louthrax

Paragon (1343)

Louthrax's picture

17-05-2017, 17:56

Yes, but that program could be quite simple (and probably portable to Linux or Mac). We just need to define a simple protocol for the communication, and a (text?) interface on the PC to swap disks.

By Manuel

Ascended (13103)

Manuel's picture

17-05-2017, 18:07

Not sure why the baud rate is only 9600 bauds... on my Sony RS-232C (in my Sony HB-G900P) I could use a 14k4 modem at full speed 20 years ago. It should be able to handle 19200 baud, the double.

By Louthrax

Paragon (1343)

Louthrax's picture

17-05-2017, 18:10

Manuel wrote:

Not sure why the baud rate is only 9600 bauds... on my Sony RS-232C (in my Sony HB-G900P) I could use a 14k4 modem at full speed 20 years ago. It should be able to handle 19200 baud, the double.

Transfer speed for the diskROM idea above could then be faster than some Sony real disk drivers Smile ?

By Manel46

Master (160)

Manel46's picture

17-05-2017, 18:20

In the nineties I communicated my MSX1 with PC 486 bidirectionally, MS DOS with BAT files, and some program in gwbasic compiled.

But with Windows, I do not know how to do it.

Maybe some colleague will help us. Smile

By Manel46

Master (160)

Manel46's picture

17-05-2017, 18:28

Manuel.
I tried triple and double speed, long ago.
And the results were unreliable.
As I said the 9600 baud version has a lot of tolerance. But sure I'll try again

By Manel46

Master (160)

Manel46's picture

17-05-2017, 18:46

Louthrax
I have no experience writing and reading DSK, in asm.
I think using the basic rom routines would be feasible.

By Louthrax

Paragon (1343)

Louthrax's picture

17-05-2017, 19:24

Manel46 wrote:

Louthrax
I have no experience writing and reading DSK, in asm.
I think using the basic rom routines would be feasible.

Basically, you need to create a "patched" version of the MSX-DOS ROM (16KB). The reverse-engineered sources of this ROM are available on the net. Basically, you just need to replace the low-level function that read and write a sector to use RS-232 instead. SofaRunIt works like that: instead of reading/writing sector from the physical disk, it reads/writes from an MSX-DOS 2 file.

By Manel46

Master (160)

Manel46's picture

17-05-2017, 22:49

Thanks for the explanations, Louthrax. I'll look at what you say.
I would like to write directly to DSK, as this is the way to load megaroms, although, at the moment the transfer time, would be long.
This is for DSK basic.Other option would be to write routine in MSX DOS, with which I have no experience.

By Manuel

Ascended (13103)

Manuel's picture

17-05-2017, 22:50

Louthrax wrote:
Manuel wrote:

Not sure why the baud rate is only 9600 bauds... on my Sony RS-232C (in my Sony HB-G900P) I could use a 14k4 modem at full speed 20 years ago. It should be able to handle 19200 baud, the double.

Transfer speed for the diskROM idea above could then be faster than some Sony real disk drivers Smile ?

I guess I'm missing the point... real disk speed is about 17kB/s (bulk measured with DOSSCAN). 19200 baud is less than 2kB/s...

By Louthrax

Paragon (1343)

Louthrax's picture

17-05-2017, 23:23

Yeah, I was kind of joking about the reported slowness of some Sony disk drives (and definitely did not do the math!). But still, another thing to consider is that this RS232 disk drive won't have "seek times" between tracks. Darn, now I really feel like starting coding stuff Running Naked in a Field of Flowers

By Manel46

Master (160)

Manel46's picture

18-05-2017, 15:02

Hello friends.
Currently, my priority is on other issues: V9990.
But, please, any contribution to improve the communicator, will be welcome.
Thank you very much.

My MSX profile