RS232 using MSX Joystick Port

by Danjovic on 22-01-2008, 21:01
Topic: Hardware
Languages:

Danjovic has managed to write a bitbanged serial routine which is able to transmit data to a PC at speeds of up to 19200bps. In order to accomplish this a TTL to RS232 level shifter is needed, implemented using a transistor.

Using a small program it is possible to intercept the LPRINT hook used by MSX-BASIC to direct output to the serial port. The example program in BASIC can use the LLIST command to send the listing itself to a PC running a terminal program such as HyperTerminal. Timing values can be easily adjusted to best suit the MSX computer used and to change the transmission speed from 1200 to 19200 bits per second.

The data goes out through pin 6 of Joystick Port B. The source code as well as the schematics of the 1-transistor TTL-to-RS232 level converter can be found on the author's weblog.

Relevant Link: TTL to RS232 Converter
Relevant Link: LPRINT to Joystick Port

Comments (10)

By PingPong

Enlighted (4155)

PingPong's picture

22-01-2008, 23:00

cool!

By Yukio

Paragon (1540)

Yukio's picture

23-01-2008, 09:11

Yes, indeed very cool!
This seems easy to implement.

It could be something like this that was suggested to do with the Joystick Port to use serial connection . Well, I am still learning how to do parallel communication!

Basic TTL [Transistor Transistor Logic] (from Digital Electronic courses) knowledge should be cool in our today use ...

By cax

Prophet (3741)

cax's picture

23-01-2008, 12:35

Really cool, and resembles MSX Link by tnt23. The good thing is that you don't need Yamaha and it's network module to load data.
The bad thing is that on a diskless machine you need a bootstrapping code listening on a joystick-port to be entered manually.
What will be the shortest and simplest way to bootstrap a diskless MSX via joystick port ?

By Danjovic

Champion (344)

Danjovic's picture

24-01-2008, 01:30

Well, I worked once on a bootstrap loader for Joystick port using I2C protocol altogether with a 24LC256 serial EEPROM. I as able to read 32Kbytes in 14 seconds (2,28KBytes/s).

I have also built an interface to interconnect the PC, the EEPROM and the MSX Joystick port, so I could load the EEPROM from the PC, using ICPROG. Refer to this link

But then again, I think that the best way to boot a "bare" MSX computer from a Joystick port, either using Serial, I2C or SPI or whichever protocol, is to use an expansion ROM, or maybe a hacked BIOS.

By DamageX

Master (217)

DamageX's picture

24-01-2008, 09:06

What would be cool is a little DOS driver for MSX like the old INTERLNK utility for MS-DOS. It could be loaded on a diskless MSX from cassette port or ROM, and then allow access to disk images or file systems on the PC, which would be connected probably via a cable to the parallel port...

By PingPong

Enlighted (4155)

PingPong's picture

24-01-2008, 18:51

DamageX:
Time ago i've considered a disk virtualizer that work connecting pc & msx via EAR & MIC jacks. Basically the idea is to patch the disk rom and when the msx read a sector, with a protocol the sector data are suplied from the PC via the AUDIO output. In the same manner when the msx write a disk sector the reverse apply:

Schematically:

MSX READ SECTOR->ROM PATCH->CONVERTION TO PULSE->MIC INPUT OF THE PC->OUTPUT FROM HEADPHONE FROM PC OF THE PULSE DATA WITH THE SECTOR WANTED.

Maybe with this approach the pc could be a server for the msx pratically at 0€ (Simply connect the msx mic/ear to the pc audio board and all work fine)

Unfortunately i've no time to develop this.Tongue

By Pat

Expert (71)

Pat's picture

26-01-2008, 13:28

With an FTDI FT232 it would straightforward to make a USB to joystick rs232 link. The driver of this USB chip creates a virtual com port on your PC. This would be equivalent to the above circuit, from a software viewpoint. ( As serial ports are getting rarer and rarer on PCs nowadays)

By konamiman

Paragon (1211)

konamiman's picture

26-01-2008, 13:59

Danjovic, can you please give me your email address? Or if you prefer, write me: konamiman (at) konamiman (dot) com.

By Danjovic

Champion (344)

Danjovic's picture

27-01-2008, 18:00

Hi, Konamiman, you can contact me at danjovic at vespanet dot com dot br

By konamiman

Paragon (1211)

konamiman's picture

29-01-2008, 12:11

Hi danjovic, have you received my messages? (I ask because you posted your address here after I replied your email)