The MSX standard has native support for the PWM protocol, and uses it to read analog devices via the General Purpose ports (AKA joystick ports). The best examples of this kind of devices are the MSX-Paddle and the Yamaha MMP-01.

This article teaches you how to build yourself some nifty analog devices that use this protocol, and how to easily read them on the MSX either using the MSX-BASIC or assembly.

Note: MSX Turbo-R owners must install the TRnewdrv driver to be able to use devices that have the PWM protocol.

Relevant link: PWM analog devices for the MSX

Media browser (3)

  • DIY PWM analog devices for the MSX
  • DIY PWM analog devices for the MSX
  • DIY PWM analog devices for the MSX

Comments (5)

By Pippo

Champion (382)

Pippo's picture

09-04-2018, 06:26

Thanks really a lot for this useful presentation, Snatcher. Smile
It is a very, very interesting project.
Thank you again. Smile

By NYYRIKKI

Enlighted (4947)

NYYRIKKI's picture

10-04-2018, 18:37

This has quite a little news value, since IIRC this design has been published also in MSX technical handbook. How ever it is a very nice & cool tutorial. I also like that you've added ready calculated values ie. for traditional PC joysticks.

By ali6x944

Expert (127)

ali6x944's picture

11-04-2018, 15:29

cool
Smile Smile

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

11-04-2018, 21:37

NYYRIKKI wrote:

This has quite a little news value, since IIRC this design has been published also in MSX technical handbook. How ever it is a very nice & cool tutorial. I also like that you've added ready calculated values ie. for traditional PC joysticks.

Yes, the MSX technical handbook has some documentation about it, but it's vague and superficial when it comes to the hardware design itself. The design shown there doesn't use standard components and it's not even properly calibrated, so the devices will be off-center. I wonder if this was the cause for no official MSX-paddles or analog joysticks ever being released.

I wanted to publish something more practical and more objective. Like DIY recipes. Now anyone who has basic soldering skills and almost no electronic knowledge can build themselves some paddles and adapters. Smile

By Danjovic

Rookie (25)

Danjovic's picture

12-04-2018, 05:00

Great!
In which corner of the screen of the MMP-1 is located the (0,0) coordinate ?
Which is the bigger Y coordinate... 255 as the highest possible paddle value or is it 192 keeping the aspect ratio (and matching with the highest possible screen resolution ) ?
Did the so called PWM channels 0 and 1 correspond the pins 1 and 2 on the joystick port (i.e. the first two paddles)?

Thanks!

My MSX profile