<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.specnext.dev/index.php?action=history&amp;feed=atom&amp;title=M30_8BitDo_wireless_MegaDrive_pad</id>
	<title>M30 8BitDo wireless MegaDrive pad - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.specnext.dev/index.php?action=history&amp;feed=atom&amp;title=M30_8BitDo_wireless_MegaDrive_pad"/>
	<link rel="alternate" type="text/html" href="https://wiki.specnext.dev/index.php?title=M30_8BitDo_wireless_MegaDrive_pad&amp;action=history"/>
	<updated>2026-05-13T17:58:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.specnext.dev/index.php?title=M30_8BitDo_wireless_MegaDrive_pad&amp;diff=11597&amp;oldid=prev</id>
		<title>Ped7g: Writing down my experience from initial fight with the M30 controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.specnext.dev/index.php?title=M30_8BitDo_wireless_MegaDrive_pad&amp;diff=11597&amp;oldid=prev"/>
		<updated>2020-11-11T10:23:13Z</updated>

		<summary type="html">&lt;p&gt;Writing down my experience from initial fight with the M30 controller&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;M30 8BitDo wireless 2.4g gamepad could be obtained for example from [https://www.amazon.co.uk/8Bitdo-Wireless-Gamepad-Original-Genesis/dp/B07HB1XFQW amazon] or your other favourite vendor.&lt;br /&gt;
&lt;br /&gt;
=== How to make it work with ZX Next ===&lt;br /&gt;
&lt;br /&gt;
* power off the ZX Next&lt;br /&gt;
* plug the receiver into ZX Next, don&amp;#039;t push hard, it shouldn&amp;#039;t go completely in, the connector-to-board soldering may be damaged if excessive force is used&lt;br /&gt;
* power on the ZX Next&lt;br /&gt;
* (first time) press SPACE to enter boot menu, press &amp;quot;e&amp;quot; to edit ZX Spectrum Next configuration (or also others)&lt;br /&gt;
* (first time) use cursor keys to navigate in the configuration, edit the desired joystick port to MD1 (MD2)&lt;br /&gt;
* (first time) save the modified configuration&lt;br /&gt;
* the receiver should keep blinking with blue LED (awaiting controller pairing)&lt;br /&gt;
* press START (big &amp;quot;pillow&amp;quot; blue button) on the controller (the English manual says &amp;quot;mode&amp;quot; button, it&amp;#039;s a typo!)&lt;br /&gt;
* the receiver should stop blinking (staying blue all the time), and controller should work&lt;br /&gt;
&lt;br /&gt;
=== How to re-pair particular controller with receiver ===&lt;br /&gt;
&lt;br /&gt;
Power cycle the ZX Next to restart the receiver, it should keep blinking the blue LED. Then hold START button for 3 seconds on the controller to search for the new receiver.&lt;br /&gt;
&lt;br /&gt;
=== How to test the functionality of controller ===&lt;br /&gt;
&lt;br /&gt;
You can use either (available on your NextZXOS sdcard) the [https://gitlab.com/thesmog358/tbblue/-/tree/master/extras/nextest extras/nextest/NEXTEST.NEX] factory tool or [https://gitlab.com/thesmog358/tbblue/-/tree/master/extras/kempstontester extras/kempstontester/KEMPSTON.snx], both should display numeric(letter) values changing when you are pressing the buttons and arrows on controller.&lt;br /&gt;
&lt;br /&gt;
The START button should be read as binary value 10000000, A button as 01000000, B button as 00010000 (Fire1 or regular Fire button on classic Kempston joystick interface) and C button as 00100000 (Fire2 on classic Kempston joystick interface - supported only rarely by legacy games).&lt;br /&gt;
&lt;br /&gt;
If the A button is read as 00001000 (up direction) and START is not being read at all, you have the ZX Next joystick port configured as Kempston1/2 joystick, not as MD1/2. Use the boot menu to modify the configuration permanently, or NMI menu and settings to modify it temporarily.&lt;br /&gt;
&lt;br /&gt;
=== Autofire functionality ===&lt;br /&gt;
&lt;br /&gt;
Hold the ☆ &amp;quot;star&amp;quot; button (the small black round one on the left, it has star symbol), and press one of the A/B/C buttons to enable auto-fire on them. Then pressing the particular button will emit pulses instead of stable &amp;quot;pressed&amp;quot; signal, the pulsing should be visible in testing tools mentioned above.&lt;br /&gt;
&lt;br /&gt;
To disable autofire for particular button, proceed the same way, hold ☆ &amp;quot;star&amp;quot; button and press the button with currently enabled autofire.&lt;br /&gt;
&lt;br /&gt;
Autofire does NOT work on direction pad.&lt;br /&gt;
&lt;br /&gt;
=== Charging the controller ===&lt;br /&gt;
&lt;br /&gt;
Use the micro-USB cable provided along the controller and some USB charger/computer (if you have linux PC on the other end, the controller works as game controller with 6+ buttons and digital directions readings, other OS may need some drivers installation - YMMV). Time to charge depleted battery is about 1-2 hours.&lt;br /&gt;
&lt;br /&gt;
=== Controller firmware upgrade ===&lt;br /&gt;
&lt;br /&gt;
Requires you to open the receiver, so make sure you have the correct tools. Do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; upgrade only controller, both controller and receiver must be updated to the same firmware version.&lt;br /&gt;
&lt;br /&gt;
See this handy article for details: https://www.retrorgb.com/how-to-update-your-m30-2-4g-if-youre-having-connection-issues.html&lt;/div&gt;</summary>
		<author><name>Ped7g</name></author>
	</entry>
</feed>