<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://wiki.specnext.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SevenFFF</id>
	<title>SpecNext Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.specnext.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SevenFFF"/>
	<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/Special:Contributions/SevenFFF"/>
	<updated>2026-05-30T21:15:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41476</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41476"/>
		<updated>2025-12-09T00:49:14Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME has supported the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
You will need to install MAME, provide it with the Next firmware (&#039;ROM&#039;), and get the NextZXOS image:&lt;br /&gt;
&lt;br /&gt;
=== 1. Get MAME ===&lt;br /&gt;
Start with these official MAME releases. If you encounter crashes or other bugs, try replacing the MAME executable with holub&#039;s latest Continuous Integration (CI) builds as described at the end of this article.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows:&#039;&#039;&#039; Download [https://www.mamedev.org/release.html MAME for Windows].&lt;br /&gt;
* &#039;&#039;&#039;macOS:&#039;&#039;&#039; Download [https://sdlmame.lngn.net/ MAME for macOS].&lt;br /&gt;
* &#039;&#039;&#039;Linux:&#039;&#039;&#039; Install MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, for the MAME platform as a whole, you can also check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Note that Windows and macOS will likely prevent you from launching MAME directly for security reasons. See below on how to solve this.&lt;br /&gt;
&lt;br /&gt;
=== 2. Get TBBLUE (the Next &#039;boot ROM&#039;) ===&lt;br /&gt;
Put the file  [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder. Don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected.&lt;br /&gt;
&lt;br /&gt;
Note: The ROMs in this zip are what is embedded inside the FPGA core on real Next hardware. They&#039;re different from any ZX Spectrum machine ROMs you may be used to using, that are on the distro, SD card or SD image file.&lt;br /&gt;
&lt;br /&gt;
=== 3. Get the NextZXOS Image ===&lt;br /&gt;
Get an SD card image file of [https://www.specnext.com/latestdistro/ NextZXOS]. Note that currently some published disk images on the official SpecNext.com site (the &amp;lt;code&amp;gt;latestdistro&amp;lt;/code&amp;gt; link points to the official location where the latest distribution can be found) do not work with some emulators, but all images from &amp;lt;code&amp;gt;https://zxnext.uk/hosted/&amp;lt;/code&amp;gt; work with both MAME and CSpect, like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this SD card image in the zip archive]. Extract the image &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; from the archive to use it, then point MAME to this SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; option (or select that file from the menu inside MAME).&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), i.e., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
However, the fastest way to run a machine with a desired configuration is from the command prompt, without requiring a &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file. Most of the features are also available through MAME&#039;s UI, although that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (having this may slightly speed up MAME&#039;s startup, but &#039;&#039;remember to remove this part from the command line and the corresponding setting in the ini file if you do want to use a joystick&#039;&#039;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image (remember to adjust the path to it):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/cspect-next-2gb.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Security: Allowing MAME to Run on Windows and macOS =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On Windows,&#039;&#039;&#039; you will need to confirm that you want to launch MAME by clicking &amp;quot;Run Anyway&amp;quot; on first launch. &#039;&#039;(More details needed here.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On macOS,&#039;&#039;&#039; MAME will not open at first. Instead, a dialog will appear saying:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“mame” Not Opened. Apple could not verify “mame” is free of malware that may harm your Mac or compromise your privacy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click “Done”. Then open &#039;&#039;&#039;System Settings -&amp;gt; Privacy &amp;amp; Security&#039;&#039;&#039;, and scroll down to the message &#039;&#039;mame was blocked to protect your Mac.&#039;&#039; Click “Allow Anyway”.&lt;br /&gt;
&lt;br /&gt;
Now launch MAME again. A dialog will ask once more if you want to open “mame”. Click “Open Anyway”, and enter your password or use Touch ID when prompted by macOS.&lt;br /&gt;
&lt;br /&gt;
From now on, you can launch this version of MAME without warnings. However, you &#039;&#039;&#039;will&#039;&#039;&#039; need to repeat this each time you update MAME.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build (more precisely, the resulting binary executable, which is a produced &amp;quot;artifact&amp;quot; of the build process) , first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need to be logged in to github&#039;&#039;&#039; to download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on a completed workfow item (only items with green checkmarks will have created downloadable binaries yet), find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you need to repeat the security steps above to trust the new MAME executable.&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41475</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41475"/>
		<updated>2025-12-08T22:21:46Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: /* 2. Get TBBLUE (the Next &amp;#039;boot ROM&amp;#039;) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME has supported the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
You will need to install MAME, provide it with the Next firmware (&#039;ROM&#039;), and get the NextZXOS image:&lt;br /&gt;
&lt;br /&gt;
=== 1. Get MAME ===&lt;br /&gt;
Start with these official MAME releases. If you encounter crashes or other bugs, try replacing the MAME executable with holub&#039;s latest Continuous Integration (CI) builds as described at the end of this article.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows:&#039;&#039;&#039; Download [https://www.mamedev.org/release.html MAME for Windows].&lt;br /&gt;
* &#039;&#039;&#039;macOS:&#039;&#039;&#039; Download [https://sdlmame.lngn.net/ MAME for macOS].&lt;br /&gt;
* &#039;&#039;&#039;Linux:&#039;&#039;&#039; Install MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, for the MAME platform as a whole, you can also check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Note that Windows and macOS will likely prevent you from launching MAME directly for security reasons. See below on how to solve this.&lt;br /&gt;
&lt;br /&gt;
=== 2. Get TBBLUE (the Next &#039;boot ROM&#039;) ===&lt;br /&gt;
Put the file  [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder. Don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected.&lt;br /&gt;
&lt;br /&gt;
Note: The ROMs in this zip are what is embedded inside the FPGA core on real Next hardware. They&#039;re different from any ZX Spectrum machine ROMs you may be used to using, that are on the distro, SD card or SD image file.&lt;br /&gt;
&lt;br /&gt;
=== 3. Get the NextZXOS Image ===&lt;br /&gt;
Get an SD card image file of [https://www.specnext.com/latestdistro/ NextZXOS]. Note that currently some published disk images on the official SpecNext.com site (the &amp;lt;code&amp;gt;latestdistro&amp;lt;/code&amp;gt; link points to the official location where the latest distribution can be found) do not work with some emulators, but all images from &amp;lt;code&amp;gt;https://zxnext.uk/hosted/&amp;lt;/code&amp;gt; work with both MAME and CSpect, like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this SD card image in the zip archive]. Extract the image &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; from the archive to use it, then point MAME to this SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; option (or select that file from the menu inside MAME).&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), i.e., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
However, the fastest way to run a machine with a desired configuration is from the command prompt, without requiring a &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file. Most of the features are also available through MAME&#039;s UI, although that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (having this may slightly speed up MAME&#039;s startup, but &#039;&#039;remember to remove this part from the command line and the corresponding setting in the ini file if you do want to use a joystick&#039;&#039;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image (remember to adjust the path to it):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/cspect-next-2gb.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Security: Allowing MAME to Run on Windows and macOS =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On Windows,&#039;&#039;&#039; you will need to confirm that you want to launch MAME by clicking &amp;quot;Run Anyway&amp;quot; on first launch. &#039;&#039;(More details needed here.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On macOS,&#039;&#039;&#039; MAME will not open at first. Instead, a dialog will appear saying:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“mame” Not Opened. Apple could not verify “mame” is free of malware that may harm your Mac or compromise your privacy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click “Done”. Then open &#039;&#039;&#039;System Settings -&amp;gt; Privacy &amp;amp; Security&#039;&#039;&#039;, and scroll down to the message &#039;&#039;mame was blocked to protect your Mac.&#039;&#039; Click “Allow Anyway”.&lt;br /&gt;
&lt;br /&gt;
Now launch MAME again. A dialog will ask once more if you want to open “mame”. Click “Open Anyway”, and enter your password or use Touch ID when prompted by macOS.&lt;br /&gt;
&lt;br /&gt;
From now on, you can launch this version of MAME without warnings. However, you &#039;&#039;&#039;will&#039;&#039;&#039; need to repeat this each time you update MAME.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build (more precisely, the resulting binary executable, which is a produced &amp;quot;artifact&amp;quot; of the build process) , first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need to be logged in to github&#039;&#039;&#039; to download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&#039;&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on a completed workfow item (only items with green checkmarks will have created downloadable binaries yet), find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you need to repeat the security steps above to trust the new MAME executable.&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41474</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41474"/>
		<updated>2025-12-08T22:21:31Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: /* 2. Get TBBLUE (the Next &amp;#039;ROM&amp;#039;) */ clarified that MAME ROMs are boot roms not Spectrum ROMs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME has supported the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
You will need to install MAME, provide it with the Next firmware (&#039;ROM&#039;), and get the NextZXOS image:&lt;br /&gt;
&lt;br /&gt;
=== 1. Get MAME ===&lt;br /&gt;
Start with these official MAME releases. If you encounter crashes or other bugs, try replacing the MAME executable with holub&#039;s latest Continuous Integration (CI) builds as described at the end of this article.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows:&#039;&#039;&#039; Download [https://www.mamedev.org/release.html MAME for Windows].&lt;br /&gt;
* &#039;&#039;&#039;macOS:&#039;&#039;&#039; Download [https://sdlmame.lngn.net/ MAME for macOS].&lt;br /&gt;
* &#039;&#039;&#039;Linux:&#039;&#039;&#039; Install MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, for the MAME platform as a whole, you can also check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Note that Windows and macOS will likely prevent you from launching MAME directly for security reasons. See below on how to solve this.&lt;br /&gt;
&lt;br /&gt;
=== 2. Get TBBLUE (the Next &#039;boot ROM&#039;) ===&lt;br /&gt;
Put the file  [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder. Don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected.&lt;br /&gt;
&lt;br /&gt;
NoteL The ROMs in this zip are what is embedded inside the FPGA core on real Next hardware. They&#039;re different from any ZX Spectrum machine ROMs you may be used to using, that are on the distro, SD card or SD image file.&lt;br /&gt;
&lt;br /&gt;
=== 3. Get the NextZXOS Image ===&lt;br /&gt;
Get an SD card image file of [https://www.specnext.com/latestdistro/ NextZXOS]. Note that currently some published disk images on the official SpecNext.com site (the &amp;lt;code&amp;gt;latestdistro&amp;lt;/code&amp;gt; link points to the official location where the latest distribution can be found) do not work with some emulators, but all images from &amp;lt;code&amp;gt;https://zxnext.uk/hosted/&amp;lt;/code&amp;gt; work with both MAME and CSpect, like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this SD card image in the zip archive]. Extract the image &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; from the archive to use it, then point MAME to this SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; option (or select that file from the menu inside MAME).&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), i.e., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
However, the fastest way to run a machine with a desired configuration is from the command prompt, without requiring a &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file. Most of the features are also available through MAME&#039;s UI, although that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (having this may slightly speed up MAME&#039;s startup, but &#039;&#039;remember to remove this part from the command line and the corresponding setting in the ini file if you do want to use a joystick&#039;&#039;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image (remember to adjust the path to it):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/cspect-next-2gb.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Security: Allowing MAME to Run on Windows and macOS =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On Windows,&#039;&#039;&#039; you will need to confirm that you want to launch MAME by clicking &amp;quot;Run Anyway&amp;quot; on first launch. &#039;&#039;(More details needed here.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On macOS,&#039;&#039;&#039; MAME will not open at first. Instead, a dialog will appear saying:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“mame” Not Opened. Apple could not verify “mame” is free of malware that may harm your Mac or compromise your privacy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Click “Done”. Then open &#039;&#039;&#039;System Settings -&amp;gt; Privacy &amp;amp; Security&#039;&#039;&#039;, and scroll down to the message &#039;&#039;mame was blocked to protect your Mac.&#039;&#039; Click “Allow Anyway”.&lt;br /&gt;
&lt;br /&gt;
Now launch MAME again. A dialog will ask once more if you want to open “mame”. Click “Open Anyway”, and enter your password or use Touch ID when prompted by macOS.&lt;br /&gt;
&lt;br /&gt;
From now on, you can launch this version of MAME without warnings. However, you &#039;&#039;&#039;will&#039;&#039;&#039; need to repeat this each time you update MAME.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build (more precisely, the resulting binary executable, which is a produced &amp;quot;artifact&amp;quot; of the build process) , first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need to be logged in to github&#039;&#039;&#039; to download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&#039;&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on a completed workfow item (only items with green checkmarks will have created downloadable binaries yet), find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you need to repeat the security steps above to trust the new MAME executable.&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41458</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41458"/>
		<updated>2025-12-05T14:57:02Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Clarified only completed CI items have downloadable artifacts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build (more precisely, the resulting binary executable, which is a produced &amp;quot;artifact&amp;quot; of the build process) , first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
You need to be logged in to github to download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on a completed workfow item (only items with green checkmarks will have created downloadable binaries yet), find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41456</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41456"/>
		<updated>2025-12-05T14:37:21Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
You need to be logged in to github to download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on the workfow item, and find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41455</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41455"/>
		<updated>2025-12-05T14:34:36Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added clarification about needing to be logged in to access github CI, and what tags look like vs nav menu filters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using hdfmonkey ==&lt;br /&gt;
&lt;br /&gt;
If you extracted sn-complete-WX.YZ.zip into a subdirectory named &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt;, and you want to create a 1GB image called &amp;lt;code&amp;gt;NextZXOS.img&amp;lt;/code&amp;gt; and you have a [[Development_Tools:Linux_setup#hdfmonkey_tool | &amp;quot;jjjs build&amp;quot; of hdfmonkey]], then it&#039;s enough to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hdfmonkey create NextZXOS.img 1G&lt;br /&gt;
hdfmonkey putdir NextZXOS.img snWXYZ /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line creates an empty 1GB image and formats it with the best FAT parameters suited to the size of the image.&lt;br /&gt;
&lt;br /&gt;
The second line recursively copies all the content of the directory &amp;lt;code&amp;gt;snWXYZ&amp;lt;/code&amp;gt; to the image, preserving the directory structure inside, starting from the &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; in the image.&lt;br /&gt;
&lt;br /&gt;
One of the advantages of this method is that even if the image has a capacity of 1GB, it will use much less space on your hard drive until you fill up the image. A command &amp;lt;code&amp;gt;du -h NextZXOS.img&amp;lt;/code&amp;gt; shows the actual amount of disk space used by the image.&lt;br /&gt;
&lt;br /&gt;
The fastest way to transfer a file or a directory (including its content, recursively) into an image is by using a single &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;putdir&amp;lt;/code&amp;gt;, if it&#039;s to transfer the directory file content to an existing directory) command of hdfmonkey.&lt;br /&gt;
&lt;br /&gt;
The most convenient tool to [[Development_Tools:Linux_setup#Extracting_all_files_from_the_SD_image | copy of all the content from the image to a folder outside of the image]] is 7-zip.&lt;br /&gt;
&lt;br /&gt;
== Creating and populating a SD card image using other tools ==&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: the resulting image of this method, if the parameters of different steps aren&#039;t carefully chosen and matched, could be out of the official FAT specifications and/or the expectations of some of the existing programs or systems.&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
You need to be logged in to github to do download CI artifacts, so [https://github.com/login sign in] or [https://github.com/signup sign up].&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform. Workflow items are the things in the list. The tags are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt; in the second row of each workflow item in the list (not the filter in the left hand nav menu). Click on the workfow item, and find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41440</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41440"/>
		<updated>2025-12-02T20:50:59Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: /* MAME Plugins and Scripts */ here-ified plugins and scripts link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41439</id>
		<title>NXtel:Contributing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41439"/>
		<updated>2025-12-02T20:49:48Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contributing to NXtel:&lt;br /&gt;
&lt;br /&gt;
# You contact the editorial team on the [https://discordapp.com/channels/556228195767156758/556520882915377164 #nxtel Discord channel], and give details about what areas your content will cover.&lt;br /&gt;
# The editorial team will assign a range of pages in the appropriate category.&lt;br /&gt;
# You register on the [https://dashboard.nxtel.org/ page editor website].&lt;br /&gt;
# The editorial team willpromote your user to the content creator role, and assign permission for those page ranges.&lt;br /&gt;
# You start creating and polishing content.&lt;br /&gt;
&lt;br /&gt;
The editorial team will also ask you to agree the content will be family friendly, as it’s open access to browse, and people let their kids use Nexts.&lt;br /&gt;
&lt;br /&gt;
If you can commit to doing regular content updates this is better. Hardly anybody is doing this once the novelty has worn off.&lt;br /&gt;
&lt;br /&gt;
The editorial team will handle linking your content from the indexes and/or front page once you have something ready for public consumption. Until then you can go to your pages directly by number and make links between your own pages.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41438</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41438"/>
		<updated>2025-12-02T20:40:24Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: /* Continuous Integration MAME Builds */ remove mention of mametiny build&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here: MAME:Plugins_and_Scripts]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41437</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41437"/>
		<updated>2025-12-02T20:28:45Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added debugger key&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports the ZX Spectrum Next since version 0.267. The existing implementation is based on the v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here], and macOS builds can be downloaded from [https://sdlmame.lngn.net/ here.] For the MAME platform as a whole, check your package manager, or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can also install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of the ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it; MAME will look for the zip file when the &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones like [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file inside the zip archive). You will point MAME to the desired SD card image with the &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from the menu inside the emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default, these are relative to the current working directory (cwd), ie., from where you launched the executable. The &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file and folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file specifies other paths. When launching through a desktop icon or menu, depending on the OS, the working directory is often defined by the properties of that launch shortcut. When launching MAME from the command line, the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux, MAME will look for &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; first in the &amp;lt;code&amp;gt;~/.mame&amp;lt;/code&amp;gt; folder. You can use the option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to point MAME to a different path for the &amp;lt;code&amp;gt;mame.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available through MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s cover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Run inside a window and with no mouse support, until you get familiar with the UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show the info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If you don&#039;t request this on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ask for confirmation when exiting MAME (otherwise it&#039;s easy to exit MAME accidentally by hitting ESC, especially when playing games or navigating menus):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -confirm_quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official MAME documentation] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation enables the UI, uses &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse, confirms before exiting MAME, and specifies the disk image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo -mouse_device none -confirm_quit tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: either to control the MAME emulator or completely dedicated to the emulated system (the Next). You can toggle between these two keyboard modes with ScrLk (on Win and Linux) or fn+delete (on Mac).&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* ` (backtick) - debugger (when enabled by starting MAME with &amp;lt;code&amp;gt;-debug&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; on the command line)&lt;br /&gt;
* PgDwn (Linux/Mac), fn-Downarrow (MacBooks) or Insert (Win) - hold down to fast-forward emulation at maximum speed, e.g., to speed up booting the Next&lt;br /&gt;
* Esc - exit (exits menus but also the entire emulator - see &amp;lt;code&amp;gt;-confirm_quit&amp;lt;/code&amp;gt; option above)&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
* F12 - Multiface NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key, so you may not be able to exit MAME if you run it in full-screen mode. In these cases, you can change the UI toggle key as follows:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to the previous menu twice, then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux, you can use &amp;lt;code&amp;gt;losetup&amp;lt;/code&amp;gt; to mount SD card images as loop devices. This lets you copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you are finished modifying the SD card image, cd out of /mnt, then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website. The following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image; change the &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need to install the dosfstools and parted packages if they are not already installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins and Scripts=&lt;br /&gt;
&lt;br /&gt;
Some MAME plugins and scripts that may be useful for Next developers and end users are listed [[MAME:Plugins_and_Scripts|here: MAME:Plugins_and_Scripts]]. They let you speed up the Next boot time, profile your NextBASIC or assembler code, and more.&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can sometimes be useful to install a more recent build if it contains a new feature or bugfix you are interested in. Sometimes, this ongoing work is discussed on social media, such as the [https://discordapp.com/channels/556228195767156758/752197165891321886 Next Developer Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME repo] and [https://github.com/holub/mame/actions holub&#039;s GitHub repo]. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, Linux, and macOS and are updated automatically whenever code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, first do a full MAME install from the [https://www.mamedev.org/release.html latest release] if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or if you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit one of the links above and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the Download button. Unzip the downloaded file and find the main binary (with the same name as above). Copy the main binary to the install location, overwriting the original one, and run MAME the same way you were running it before. On Windows and macOS, you may need to take an additional step to trust the binary (&amp;quot;Run Anyway&amp;quot; on Windows; &amp;quot;System Preferences -&amp;gt; Privacy &amp;amp; Security -&amp;gt; Allow mame to Run&amp;quot; on macOS).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
&lt;br /&gt;
The official MAME source code repository is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here].&lt;br /&gt;
&lt;br /&gt;
holub, the author of the Next emulation, maintains a fork [https://github.com/holub/mame here] that may contain new fixes and features before they are merged into the official repository.&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41429</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41429"/>
		<updated>2025-11-29T00:02:44Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins and scripts may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
=Plugins=&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to speedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
=Scripts=&lt;br /&gt;
&lt;br /&gt;
Scripts are coming soon...&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41428</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41428"/>
		<updated>2025-11-29T00:02:30Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
=Plugins=&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to speedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
=Scripts=&lt;br /&gt;
&lt;br /&gt;
Scripts are coming soon...&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41427</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41427"/>
		<updated>2025-11-29T00:02:15Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
=Plugins=&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to speedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
=Scripts=&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins&amp;diff=41426</id>
		<title>MAME:Plugins</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins&amp;diff=41426"/>
		<updated>2025-11-29T00:01:23Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: SevenFFF moved page MAME:Plugins to MAME:Plugins and Scripts: Include scripts too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MAME:Plugins and Scripts]]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41425</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41425"/>
		<updated>2025-11-29T00:01:23Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: SevenFFF moved page MAME:Plugins to MAME:Plugins and Scripts: Include scripts too&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to speedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41416</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41416"/>
		<updated>2025-11-24T20:30:04Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Moved plugins link to its own section for prominence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME also from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it, mame will look for the zip file when &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file). You will point mame to desired SD card image with &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from menu inside emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default these are relative to current working directory (cwd), ie. from where you did launch the executable. The mame.ini and other folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless ini file specifies other paths. When launching through desktop icon/menu depending on the OS the working directory is often defined by that launch shortcut properties. When launching through command line the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux MAME will look for mame.ini first into ~/.mame folder. You can use option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to search other path for ini file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation: enables UI, &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse and specifies the disk image is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=MAME Plugins=&lt;br /&gt;
Some plugins which may be useful for MAME Next devs and end-users are listed [[MAME:Plugins|here]].&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top of the original one in the install location, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here], the author of Next emulation holub has fork [https://github.com/holub/mame here] (may contain new fixes and features before they are merged to official repository).&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Introduction&amp;diff=41415</id>
		<title>NXtel:Introduction</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Introduction&amp;diff=41415"/>
		<updated>2025-11-23T01:41:35Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added links to FAQ and Github wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NXtel is a videotex TCP/IP server and client for the ZX Spectrum Next.&lt;br /&gt;
&lt;br /&gt;
See [[NXtel:Contributing|here]] for how to start contributing NXtel content.&lt;br /&gt;
&lt;br /&gt;
Documentation for contibuting to NXtel is very lacking, so please consider helping write better documentation on this wiki, after you have learned the site and editor functionality, to help the next guy in your shoes have an easier time.&lt;br /&gt;
&lt;br /&gt;
For end-users, there is a [https://nxtel.org/ FAQ], and some existing documentation already on the [https://github.com/Threetwosevensixseven/NXtel/wiki GitHub wiki].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41414</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41414"/>
		<updated>2025-11-23T01:37:40Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to speedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41413</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41413"/>
		<updated>2025-11-23T01:34:15Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to spedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue at startup.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41412</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41412"/>
		<updated>2025-11-23T01:33:52Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to spedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users or developers.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41411</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41411"/>
		<updated>2025-11-23T01:26:37Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added debugstart plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to spedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins debugstart] ==&lt;br /&gt;
Allows to use the MAME debugger later, without compromising startup speed or needing keys to be pressed to continue.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/latest Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/debugstart/init.lua Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41410</id>
		<title>MAME:Plugins and Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Plugins_and_Scripts&amp;diff=41410"/>
		<updated>2025-11-22T23:25:52Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added nextfaststart and skipstartupframes plugins&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These MAME plugins may be of interest to Next developers and end-users:&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Threetwosevensixseven/MAMENextPlugins nextfaststart] ==&lt;br /&gt;
Minimizes MAME Next Machine boot time, by allowing code running inside the emulator to control MAME execution speed. Useful for developers.&lt;br /&gt;
Release: [https://github.com/Threetwosevensixseven/MAMENextPlugins/releases/tag/v1.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Threetwosevensixseven/MAMENextPlugins/blob/main/src/plugins/nextfaststart/init.lua Yes]&lt;br /&gt;
&lt;br /&gt;
== [https://github.com/Jakobud/skipstartupframes skipstartupframes ] ==&lt;br /&gt;
Another plugin to spedup MAME boot time, by specifying a number of frames to run at full speed for each machine being emulated. More general, and useful for end-users.&lt;br /&gt;
Release: [https://github.com/Jakobud/skipstartupframes/releases/tag/v3.0.0 Yes]&lt;br /&gt;
Source: [https://github.com/Jakobud/skipstartupframes/tree/main/src Yes]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41409</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41409"/>
		<updated>2025-11-22T23:14:57Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Linked plugins&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME also from the flatpak repositories by running:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put the ROM dump zip of ZX Next [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] into MAME&#039;s &amp;lt;code&amp;gt;roms&amp;lt;/code&amp;gt; folder (don&#039;t extract it, mame will look for the zip file when &amp;quot;tbblue&amp;quot; machine is selected).&lt;br /&gt;
&lt;br /&gt;
Prepare an SD card image file of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file). You will point mame to desired SD card image with &amp;lt;code&amp;gt;-hard1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-hard2&amp;lt;/code&amp;gt; options (or select the files from menu inside emulator).&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
MAME looks for its configuration and helper files in specific (configurable) folders. By default these are relative to current working directory (cwd), ie. from where you did launch the executable. The mame.ini and other folders like &amp;lt;code&amp;gt;roms, bgfx, plugins, language, ...&amp;lt;/code&amp;gt; are expected there, unless ini file specifies other paths. When launching through desktop icon/menu depending on the OS the working directory is often defined by that launch shortcut properties. When launching through command line the current directory is &amp;quot;cwd&amp;quot; (doh). On Linux MAME will look for mame.ini first into ~/.mame folder. You can use option &amp;lt;code&amp;gt;-inipath&amp;lt;/code&amp;gt; to search other path for ini file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Use &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -nounevenstretch -aspect 2:1 -video bgfx -bgfx_screen_chains unfiltered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;No joystick connected to PC (may slightly speed up MAME&#039;s startup):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -joystickprovider none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-universal official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
As an example, this invocation: enables UI, &amp;quot;crisp pixels&amp;quot;, starts in a window, doesn&#039;t display the starting gameinfo window (it can still be displayed interactively from the UI), disables the mouse and specifies the disk image is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F5 - pause emulation&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primary MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are available for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top of the original one in the install location, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here], the author of Next emulation holub has fork [https://github.com/holub/mame here] (may contain new fixes and features before they are merged to official repository).&lt;br /&gt;
&lt;br /&gt;
MAME [https://docs.mamedev.org/ documentation].&lt;br /&gt;
&lt;br /&gt;
Some plugins which may be useful for MAME Next devs and end-users are listed [[MAME:Plugins|here]].&lt;br /&gt;
&lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41408</id>
		<title>NXtel:Contributing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41408"/>
		<updated>2025-11-20T00:31:14Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contributing to NXtel:&lt;br /&gt;
&lt;br /&gt;
# You contact the editorial team on the [https://discordapp.com/channels/556228195767156758/556520882915377164 #nxtel Discord channel], and give details about what areas your content will cover.&lt;br /&gt;
# The editorial team will assign a range of pages in the appropriate category.&lt;br /&gt;
# You register on the [https://dashboard.nxtel.org/ page editor website].&lt;br /&gt;
# The editorial team willpromote your user to the content creator role, and assign permission for those page ranges.&lt;br /&gt;
# You start creating and polishing content.&lt;br /&gt;
&lt;br /&gt;
The editorial team will also ask you to agree the content will be family friendly, as it’s open access to browse, and people let their kids use Nexts.&lt;br /&gt;
&lt;br /&gt;
If you can commit to doing regular content updates this is better. Hardly anybody is doing this once the novelty has worn off.&lt;br /&gt;
&lt;br /&gt;
THe editorial team will handle linking your content from the indexes and/or front page once you have something ready for public consumption. Until then you can go to your pages directly by number and make links between your own pages.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41407</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41407"/>
		<updated>2025-11-20T00:19:15Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] === &lt;br /&gt;
&lt;br /&gt;
[[FAQ|Click here to go to the FAQ page]]&lt;br /&gt;
&lt;br /&gt;
=== System architecture ===&lt;br /&gt;
* [[Specifications]]&lt;br /&gt;
* [[Extended Z80 instruction set]]&lt;br /&gt;
* [[Memory map]] and switching mechanics&lt;br /&gt;
* [[Reference machines]] and timing&lt;br /&gt;
* [[Boot Sequence]]&lt;br /&gt;
* [[Board feature control]] (NextRegs) and port list&lt;br /&gt;
* [[Interrupts]]&lt;br /&gt;
* [[RPi0 Acceleration]]&lt;br /&gt;
* [[DMA|zxnDMA]]&lt;br /&gt;
* [[CTC]]&lt;br /&gt;
* [[Copper]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Z80 programming]]&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[Video Modes | Enhanced ULA Modes]]&lt;br /&gt;
* [[Tilemap]]&lt;br /&gt;
* [[Sprites]]&lt;br /&gt;
* [[Layer 2]]&lt;br /&gt;
* [[Palettes]]&lt;br /&gt;
* [[Blend Modes]]&lt;br /&gt;
* [[Refresh Rates]]&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* [[Turbo Sound Next]]&lt;br /&gt;
* [[SpecDrum/DAC]]&lt;br /&gt;
* [[Beeper (audio) | Beeper]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue TBBlue Official Distribution git repository]&lt;br /&gt;
* [https://gitlab.com/SpectrumNext/ZX_Spectrum_Next_FPGA/-/tree/master Official Next Core git repository]&lt;br /&gt;
* [[NextZXOS]]&lt;br /&gt;
* [[ESXDOS]]&lt;br /&gt;
* [[NextBASIC]]&lt;br /&gt;
* [[System Variables]]&lt;br /&gt;
* [[API|esxDOS and NextZXOS APIs]]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
* [[Circuit Diagrams]]&lt;br /&gt;
&lt;br /&gt;
=== [[Development Tools|Development Tools and Selected Software]] ===&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
* [[Assemblers]]&lt;br /&gt;
* [[Compilers]]&lt;br /&gt;
* [[Audio_/_Music | Audio/Music]]&lt;br /&gt;
* [[Miscellaneous]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Expansion ===&lt;br /&gt;
&lt;br /&gt;
Your next computer can be expanded internally to add additional functionality. &lt;br /&gt;
* [[RTC | RTC - Real Time Clock]] &lt;br /&gt;
* [[RPi0_Acceleration| Accelerator - Raspberry Pi Zero]]&lt;br /&gt;
* [[ESP8266-01 | ESP8266-01 - Wifi Module]] &lt;br /&gt;
* [[Expansion | Expansion Slot]]&lt;br /&gt;
* [[GPIO Socket (J15)]]&lt;br /&gt;
* [[JTAG Socket]]&lt;br /&gt;
* [[2MB RAM Expansion]]&lt;br /&gt;
* [[Beeper (hardware) | Beeper]]&lt;br /&gt;
* &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=6&amp;amp;t=544 Specnext Forums] &lt;br /&gt;
: A link to the forums discussing hardware additions&lt;br /&gt;
&lt;br /&gt;
=== Peripherals ===&lt;br /&gt;
&lt;br /&gt;
* [[Mouse]]&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/extra-hw/pinouts/pinouts.txt Pinouts (Joystick / VGA / GPIO / Daugherboard / Beeper]&lt;br /&gt;
&lt;br /&gt;
=== Classic Peripheral Information ===&lt;br /&gt;
&lt;br /&gt;
* [[esxDOS together with Interface 1]]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
&lt;br /&gt;
* [https://www.specnext.com/forum/ Official forums]&lt;br /&gt;
* [https://www.facebook.com/groups/specnext Facebook group]&lt;br /&gt;
* [https://discordapp.com/invite/HdRvZVw Discord chat]&lt;br /&gt;
* [https://www.specnext.com/ Official site]&lt;br /&gt;
* [https://wiki.specnext.dev/ZX_Next_Clones Running the Next core on ZX Next clones]&lt;br /&gt;
* [[NXtel:Introduction|NXtel]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
* [[Bibliography]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiki &amp;quot;to do&amp;quot; list =&lt;br /&gt;
* [[Wiki TODO list]] (can be used also as warning which pages may contain outdated information)&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41406</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41406"/>
		<updated>2025-11-20T00:18:53Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] === &lt;br /&gt;
&lt;br /&gt;
[[FAQ|Click here to go to the FAQ page]]&lt;br /&gt;
&lt;br /&gt;
=== System architecture ===&lt;br /&gt;
* [[Specifications]]&lt;br /&gt;
* [[Extended Z80 instruction set]]&lt;br /&gt;
* [[Memory map]] and switching mechanics&lt;br /&gt;
* [[Reference machines]] and timing&lt;br /&gt;
* [[Boot Sequence]]&lt;br /&gt;
* [[Board feature control]] (NextRegs) and port list&lt;br /&gt;
* [[Interrupts]]&lt;br /&gt;
* [[RPi0 Acceleration]]&lt;br /&gt;
* [[DMA|zxnDMA]]&lt;br /&gt;
* [[CTC]]&lt;br /&gt;
* [[Copper]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Z80 programming]]&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[Video Modes | Enhanced ULA Modes]]&lt;br /&gt;
* [[Tilemap]]&lt;br /&gt;
* [[Sprites]]&lt;br /&gt;
* [[Layer 2]]&lt;br /&gt;
* [[Palettes]]&lt;br /&gt;
* [[Blend Modes]]&lt;br /&gt;
* [[Refresh Rates]]&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* [[Turbo Sound Next]]&lt;br /&gt;
* [[SpecDrum/DAC]]&lt;br /&gt;
* [[Beeper (audio) | Beeper]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue TBBlue Official Distribution git repository]&lt;br /&gt;
* [https://gitlab.com/SpectrumNext/ZX_Spectrum_Next_FPGA/-/tree/master Official Next Core git repository]&lt;br /&gt;
* [[NextZXOS]]&lt;br /&gt;
* [[ESXDOS]]&lt;br /&gt;
* [[NextBASIC]]&lt;br /&gt;
* [[System Variables]]&lt;br /&gt;
* [[API|esxDOS and NextZXOS APIs]]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
* [[Circuit Diagrams]]&lt;br /&gt;
&lt;br /&gt;
=== [[Development Tools|Development Tools and Selected Software]] ===&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
* [[Assemblers]]&lt;br /&gt;
* [[Compilers]]&lt;br /&gt;
* [[Audio_/_Music | Audio/Music]]&lt;br /&gt;
* [[Miscellaneous]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Expansion ===&lt;br /&gt;
&lt;br /&gt;
Your next computer can be expanded internally to add additional functionality. &lt;br /&gt;
* [[RTC | RTC - Real Time Clock]] &lt;br /&gt;
* [[RPi0_Acceleration| Accelerator - Raspberry Pi Zero]]&lt;br /&gt;
* [[ESP8266-01 | ESP8266-01 - Wifi Module]] &lt;br /&gt;
* [[Expansion | Expansion Slot]]&lt;br /&gt;
* [[GPIO Socket (J15)]]&lt;br /&gt;
* [[JTAG Socket]]&lt;br /&gt;
* [[2MB RAM Expansion]]&lt;br /&gt;
* [[Beeper (hardware) | Beeper]]&lt;br /&gt;
* &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=6&amp;amp;t=544 Specnext Forums] &lt;br /&gt;
: A link to the forums discussing hardware additions&lt;br /&gt;
&lt;br /&gt;
=== Peripherals ===&lt;br /&gt;
&lt;br /&gt;
* [[Mouse]]&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/extra-hw/pinouts/pinouts.txt Pinouts (Joystick / VGA / GPIO / Daugherboard / Beeper]&lt;br /&gt;
&lt;br /&gt;
=== Classic Peripheral Information ===&lt;br /&gt;
&lt;br /&gt;
* [[esxDOS together with Interface 1]]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
&lt;br /&gt;
* [https://www.specnext.com/forum/ Official forums]&lt;br /&gt;
* [https://www.facebook.com/groups/specnext Facebook group]&lt;br /&gt;
* [https://discordapp.com/invite/HdRvZVw Discord chat]&lt;br /&gt;
* [https://www.specnext.com/ Official site]&lt;br /&gt;
* [https://wiki.specnext.dev/ZX_Next_Clones Running the Next core on ZX Next clones]&lt;br /&gt;
* [[NXtel:Introduction]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
* [[Bibliography]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiki &amp;quot;to do&amp;quot; list =&lt;br /&gt;
* [[Wiki TODO list]] (can be used also as warning which pages may contain outdated information)&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41405</id>
		<title>NXtel:Contributing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41405"/>
		<updated>2025-11-20T00:17:18Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contributing to NXtel:&lt;br /&gt;
&lt;br /&gt;
# You say what purpose the pages are for, by contacting the editorial team on the [https://discordapp.com/channels/556228195767156758/556520882915377164 #nxtel Discord channel];&lt;br /&gt;
# The editors will assign a range of pages in the appropriate category;&lt;br /&gt;
# You register on the [https://dashboard.nxtel.org/ page editor website]; &lt;br /&gt;
# The editors promote your user to the content creator role, and assign permission for those page ranges;&lt;br /&gt;
# You start creating content and polishing it.&lt;br /&gt;
&lt;br /&gt;
THe editorial team will handle linking your content from the indexes and/or front page once you have something ready for public consumption. Until then you can go to your pages directly by number and make links between your own pages.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41404</id>
		<title>NXtel:Contributing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Contributing&amp;diff=41404"/>
		<updated>2025-11-20T00:16:40Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Created page with &amp;quot;Contributing to NXtel:  # You say what purpose the pages are for, by contacting the editorial team on the [https://discordapp.com/channels/556228195767156758/556520882915377164 #nxtel Discord channel]; # The editors will assign a range of pages in the appropriate category; # You register on the page editor website;  # The editors promote your user to the content creator role, and assign permission for those page ranges; # You start creating content and polishing it.  THe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contributing to NXtel:&lt;br /&gt;
&lt;br /&gt;
# You say what purpose the pages are for, by contacting the editorial team on the [https://discordapp.com/channels/556228195767156758/556520882915377164 #nxtel Discord channel];&lt;br /&gt;
# The editors will assign a range of pages in the appropriate category;&lt;br /&gt;
# You register on the page editor website; &lt;br /&gt;
# The editors promote your user to the content creator role, and assign permission for those page ranges;&lt;br /&gt;
# You start creating content and polishing it.&lt;br /&gt;
&lt;br /&gt;
THe editorial team will handle linking your content from the indexes and/or front page once you have something ready for public consumption. Until then you can go to your pages directly by number and make links between your own pages.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=NXtel:Introduction&amp;diff=41403</id>
		<title>NXtel:Introduction</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=NXtel:Introduction&amp;diff=41403"/>
		<updated>2025-11-20T00:12:02Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Created page with &amp;quot;NXtel is a videotex TCP/IP server and client for the ZX Spectrum Next.  See here for how to start contributing NXtel content.  Documentation is very lacking, so please consider helping write better documentation on this wiki, after you have learned the site and editor functionality, to help the next guy in your shoes have an easier time.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NXtel is a videotex TCP/IP server and client for the ZX Spectrum Next.&lt;br /&gt;
&lt;br /&gt;
See [[NXtel:Contributing|here]] for how to start contributing NXtel content.&lt;br /&gt;
&lt;br /&gt;
Documentation is very lacking, so please consider helping write better documentation on this wiki, after you have learned the site and editor functionality, to help the next guy in your shoes have an easier time.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Miscellaneous&amp;diff=41402</id>
		<title>Miscellaneous</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Miscellaneous&amp;diff=41402"/>
		<updated>2025-11-20T00:04:43Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &#039;&#039;[http://simon.mooli.org.uk/nextech/ Simon N Goodwin&#039;s Spectrum Next Page]&#039;&#039; ===&lt;br /&gt;
: A host of utilites for NextBasic written by Simon, NextPort, Nextramon, &lt;br /&gt;
: Next MGT Reader amongst other treasures.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/kounch/vscode_zx Visual Studio Code Tasks and Scripts]&#039;&#039; ===&lt;br /&gt;
: Some VSC goodies by kounch to work with NextBasic and ZX Basic&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/stefanbylund/zxnext_bmp_tools Next BMP Tools]&#039;&#039; ===&lt;br /&gt;
: The Next BMP tools are BMP image conversion tools targeting the Sinclair ZX Spectrum Next written&lt;br /&gt;
: by Stefan Bylund&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://wiki.twistedraven.net/index.php?title=Downloads Octarine Studio]&#039;&#039; ===&lt;br /&gt;
: Octarine Studio by Guy Black is a PC based editing tool that currently supports palettes and tiles. &lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=7&amp;amp;t=351 UDGeedNext Sprite Editor]&#039;&#039; ===&lt;br /&gt;
: Windows based sprite editor written by some guy I have never heard of. Currently supports 8 bit&lt;br /&gt;
: palettes. 9 bit and 4 bit sprites should be added at some point....&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[http://worldofpaul.com/speccyart/ Speccy Art]&#039;&#039; ===&lt;br /&gt;
: An online drawing experience that aims to help you create Sinclair ZX Spectrum-like images.&lt;br /&gt;
: Supports the classic ULA mode (256x192 pixels with 8x8 attribute squares and 15 classic ZX colours)&lt;br /&gt;
: Supports the Timex HiColour mode (256x192 pixels with 8x1 attribute rectangles and 15 classic ZX colours)&lt;br /&gt;
: Images can be saved and loaded through TAP files or exported into SCR/SHC files.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/varmfskii/zxnext_tools ZX Spectrum Next tools by Theodore (Alex) Evans]&#039;&#039; ===&lt;br /&gt;
: Multiple tools for various graphics conversions and processing&lt;br /&gt;
: zxnftp for transferring files between PC and Next via the ESP WiFi module&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://gitlab.com/zxnexttools/nim Next Image Manipulator by Matt Davies]&#039;&#039; ===&lt;br /&gt;
: windows command line tool to convert various image and palette formats to custom &amp;quot;nip/nim&amp;quot; binary formats which are simple enough to parse (or include directly into source with assemblers supporting binary includes)&lt;br /&gt;
: this is early version (already working, build it from source), but further expansion to support also tiles/etc may happen in future&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/gasman/hdfmonkey hdfmonkey]&#039;&#039; ===&lt;br /&gt;
: A Swiss Army Knife for working with FAT partitions on Spectrum emulator HDF images. The more recent [https://www.specnext.com/forum/viewtopic.php?p=16108 hdfmonkey jjjs builds by johnnyo] also support the [https://www.specnext.com/latestdistro/ imperfect SD card images of the distribution for emulators from specnext.com], and they include executable binaries for Windows, Linux, and macOS.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://zeroonetwenty.com/blueharvest/ Blue Harvest]&#039;&#039; ===&lt;br /&gt;
: A convenient macOS tool to keep SD cards free from macOS metadata. Free 30-day trial.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/MrKWatkins/ZXSpectrumNextTests ZXSpectrumNextTests by Kevin Watkins and Peter Helcmanovsky]&#039;&#039; ===&lt;br /&gt;
: Suite of tests exercising various aspects of ZX Spectrum Next&lt;br /&gt;
: Tests for: Next registers, Copper, Sprites, Layer2, ULA modes, Extended ULA, Layers mixing modes, Z80N instructions, ...&lt;br /&gt;
: ASM Sources for each test (sjasmplus assembler syntax)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/Threetwosevensixseven/ZXSpectrumNextTests ZXSpectrumNextTests by Robin Verhagen-Guest]&#039;&#039; ===&lt;br /&gt;
: Suite of tests exercising various aspects of ZX Spectrum Next (yes, one more :) )&lt;br /&gt;
: Tests for: DMA, MMU paging, Layers mixing modes&lt;br /&gt;
: ASM Sources for each test (Zeus assembler syntax)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&amp;lt;div id=&amp;quot;WASPtools&amp;quot; name=&amp;quot;WASPtools&amp;quot;&amp;gt;WASPtools by Phoebus Dokos&amp;lt;/div&amp;gt;&#039;&#039; ===&lt;br /&gt;
WASPtools is a suite of tools comprised of a palette manipulator, a sprite editor, a graphics converter, and tilemap editor (both virtual tilemaps for say Layer2, and the hardware tilemap mode).&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://zx.remysharp.com Online sprite, palette and tilemap editor by Remy Sharp]&#039;&#039; ===&lt;br /&gt;
: Browser based tooling that works fully offline&lt;br /&gt;
: Sprite editor with import and export tools&lt;br /&gt;
: Tile map editor with 16x16 and 8x8 tile support&lt;br /&gt;
: Full 512 palette import and export&lt;br /&gt;
: Also includes image conversion tools from PNG to 8 bit BMP and SL2 formats&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://marketplace.visualstudio.com/items?itemName=remysharp.nextbasic NextBASIC extension for VS Code by Remy Sharp]&#039;&#039; ===&lt;br /&gt;
: Syntax highlighting, folding and definition jumping&lt;br /&gt;
: Export and import .bas to .txt and visa versa&lt;br /&gt;
: Inline help, line number completion and inline error checking&lt;br /&gt;
: Launches Cspect with minimal configuration&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=17&amp;amp;t=1715 NextSync WiFi file transferring by Jari Komppa]&#039;&#039; ===&lt;br /&gt;
: Run &amp;quot;server&amp;quot; code on your local PC (python 3 required)&lt;br /&gt;
: Run &amp;quot;.sync&amp;quot; on the Next&lt;br /&gt;
: Changed files will be copied from PC to Next by ESP WiFi module&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[[NXtel:Introduction|NXtel by Robin Verhagen Guest]]&#039;&#039; ===&lt;br /&gt;
: Comprises a TCP/IP Videotext server, a Next client, and a page editor website&lt;br /&gt;
: Content is community created and supervised by a small team of editors.&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Miscellaneous&amp;diff=41401</id>
		<title>Miscellaneous</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Miscellaneous&amp;diff=41401"/>
		<updated>2025-11-20T00:02:01Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &#039;&#039;[http://simon.mooli.org.uk/nextech/ Simon N Goodwin&#039;s Spectrum Next Page]&#039;&#039; ===&lt;br /&gt;
: A host of utilites for NextBasic written by Simon, NextPort, Nextramon, &lt;br /&gt;
: Next MGT Reader amongst other treasures.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/kounch/vscode_zx Visual Studio Code Tasks and Scripts]&#039;&#039; ===&lt;br /&gt;
: Some VSC goodies by kounch to work with NextBasic and ZX Basic&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/stefanbylund/zxnext_bmp_tools Next BMP Tools]&#039;&#039; ===&lt;br /&gt;
: The Next BMP tools are BMP image conversion tools targeting the Sinclair ZX Spectrum Next written&lt;br /&gt;
: by Stefan Bylund&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://wiki.twistedraven.net/index.php?title=Downloads Octarine Studio]&#039;&#039; ===&lt;br /&gt;
: Octarine Studio by Guy Black is a PC based editing tool that currently supports palettes and tiles. &lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=7&amp;amp;t=351 UDGeedNext Sprite Editor]&#039;&#039; ===&lt;br /&gt;
: Windows based sprite editor written by some guy I have never heard of. Currently supports 8 bit&lt;br /&gt;
: palettes. 9 bit and 4 bit sprites should be added at some point....&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[http://worldofpaul.com/speccyart/ Speccy Art]&#039;&#039; ===&lt;br /&gt;
: An online drawing experience that aims to help you create Sinclair ZX Spectrum-like images.&lt;br /&gt;
: Supports the classic ULA mode (256x192 pixels with 8x8 attribute squares and 15 classic ZX colours)&lt;br /&gt;
: Supports the Timex HiColour mode (256x192 pixels with 8x1 attribute rectangles and 15 classic ZX colours)&lt;br /&gt;
: Images can be saved and loaded through TAP files or exported into SCR/SHC files.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/varmfskii/zxnext_tools ZX Spectrum Next tools by Theodore (Alex) Evans]&#039;&#039; ===&lt;br /&gt;
: Multiple tools for various graphics conversions and processing&lt;br /&gt;
: zxnftp for transferring files between PC and Next via the ESP WiFi module&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://gitlab.com/zxnexttools/nim Next Image Manipulator by Matt Davies]&#039;&#039; ===&lt;br /&gt;
: windows command line tool to convert various image and palette formats to custom &amp;quot;nip/nim&amp;quot; binary formats which are simple enough to parse (or include directly into source with assemblers supporting binary includes)&lt;br /&gt;
: this is early version (already working, build it from source), but further expansion to support also tiles/etc may happen in future&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/gasman/hdfmonkey hdfmonkey]&#039;&#039; ===&lt;br /&gt;
: A Swiss Army Knife for working with FAT partitions on Spectrum emulator HDF images. The more recent [https://www.specnext.com/forum/viewtopic.php?p=16108 hdfmonkey jjjs builds by johnnyo] also support the [https://www.specnext.com/latestdistro/ imperfect SD card images of the distribution for emulators from specnext.com], and they include executable binaries for Windows, Linux, and macOS.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://zeroonetwenty.com/blueharvest/ Blue Harvest]&#039;&#039; ===&lt;br /&gt;
: A convenient macOS tool to keep SD cards free from macOS metadata. Free 30-day trial.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/MrKWatkins/ZXSpectrumNextTests ZXSpectrumNextTests by Kevin Watkins and Peter Helcmanovsky]&#039;&#039; ===&lt;br /&gt;
: Suite of tests exercising various aspects of ZX Spectrum Next&lt;br /&gt;
: Tests for: Next registers, Copper, Sprites, Layer2, ULA modes, Extended ULA, Layers mixing modes, Z80N instructions, ...&lt;br /&gt;
: ASM Sources for each test (sjasmplus assembler syntax)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://github.com/Threetwosevensixseven/ZXSpectrumNextTests ZXSpectrumNextTests by Robin Verhagen-Guest]&#039;&#039; ===&lt;br /&gt;
: Suite of tests exercising various aspects of ZX Spectrum Next (yes, one more :) )&lt;br /&gt;
: Tests for: DMA, MMU paging, Layers mixing modes&lt;br /&gt;
: ASM Sources for each test (Zeus assembler syntax)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&amp;lt;div id=&amp;quot;WASPtools&amp;quot; name=&amp;quot;WASPtools&amp;quot;&amp;gt;WASPtools by Phoebus Dokos&amp;lt;/div&amp;gt;&#039;&#039; ===&lt;br /&gt;
WASPtools is a suite of tools comprised of a palette manipulator, a sprite editor, a graphics converter, and tilemap editor (both virtual tilemaps for say Layer2, and the hardware tilemap mode).&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://zx.remysharp.com Online sprite, palette and tilemap editor by Remy Sharp]&#039;&#039; ===&lt;br /&gt;
: Browser based tooling that works fully offline&lt;br /&gt;
: Sprite editor with import and export tools&lt;br /&gt;
: Tile map editor with 16x16 and 8x8 tile support&lt;br /&gt;
: Full 512 palette import and export&lt;br /&gt;
: Also includes image conversion tools from PNG to 8 bit BMP and SL2 formats&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://marketplace.visualstudio.com/items?itemName=remysharp.nextbasic NextBASIC extension for VS Code by Remy Sharp]&#039;&#039; ===&lt;br /&gt;
: Syntax highlighting, folding and definition jumping&lt;br /&gt;
: Export and import .bas to .txt and visa versa&lt;br /&gt;
: Inline help, line number completion and inline error checking&lt;br /&gt;
: Launches Cspect with minimal configuration&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=17&amp;amp;t=1715 NextSync WiFi file transferring by Jari Komppa]&#039;&#039; ===&lt;br /&gt;
: Run &amp;quot;server&amp;quot; code on your local PC (python 3 required)&lt;br /&gt;
: Run &amp;quot;.sync&amp;quot; on the Next&lt;br /&gt;
: Changed files will be copied from PC to Next by ESP WiFi module&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;[NXtel:Introduction|NXtel]&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41400</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41400"/>
		<updated>2025-11-20T00:00:32Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] === &lt;br /&gt;
&lt;br /&gt;
[[FAQ|Click here to go to the FAQ page]]&lt;br /&gt;
&lt;br /&gt;
=== System architecture ===&lt;br /&gt;
* [[Specifications]]&lt;br /&gt;
* [[Extended Z80 instruction set]]&lt;br /&gt;
* [[Memory map]] and switching mechanics&lt;br /&gt;
* [[Reference machines]] and timing&lt;br /&gt;
* [[Boot Sequence]]&lt;br /&gt;
* [[Board feature control]] (NextRegs) and port list&lt;br /&gt;
* [[Interrupts]]&lt;br /&gt;
* [[RPi0 Acceleration]]&lt;br /&gt;
* [[DMA|zxnDMA]]&lt;br /&gt;
* [[CTC]]&lt;br /&gt;
* [[Copper]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Z80 programming]]&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[Video Modes | Enhanced ULA Modes]]&lt;br /&gt;
* [[Tilemap]]&lt;br /&gt;
* [[Sprites]]&lt;br /&gt;
* [[Layer 2]]&lt;br /&gt;
* [[Palettes]]&lt;br /&gt;
* [[Blend Modes]]&lt;br /&gt;
* [[Refresh Rates]]&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* [[Turbo Sound Next]]&lt;br /&gt;
* [[SpecDrum/DAC]]&lt;br /&gt;
* [[Beeper (audio) | Beeper]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue TBBlue Official Distribution git repository]&lt;br /&gt;
* [https://gitlab.com/SpectrumNext/ZX_Spectrum_Next_FPGA/-/tree/master Official Next Core git repository]&lt;br /&gt;
* [[NextZXOS]]&lt;br /&gt;
* [[ESXDOS]]&lt;br /&gt;
* [[NextBASIC]]&lt;br /&gt;
* [[System Variables]]&lt;br /&gt;
* [[API|esxDOS and NextZXOS APIs]]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
* [[Circuit Diagrams]]&lt;br /&gt;
&lt;br /&gt;
=== [[Development Tools|Development Tools and Selected Software]] ===&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
* [[Assemblers]]&lt;br /&gt;
* [[Compilers]]&lt;br /&gt;
* [[Audio_/_Music | Audio/Music]]&lt;br /&gt;
* [[Miscellaneous]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Expansion ===&lt;br /&gt;
&lt;br /&gt;
Your next computer can be expanded internally to add additional functionality. &lt;br /&gt;
* [[RTC | RTC - Real Time Clock]] &lt;br /&gt;
* [[RPi0_Acceleration| Accelerator - Raspberry Pi Zero]]&lt;br /&gt;
* [[ESP8266-01 | ESP8266-01 - Wifi Module]] &lt;br /&gt;
* [[Expansion | Expansion Slot]]&lt;br /&gt;
* [[GPIO Socket (J15)]]&lt;br /&gt;
* [[JTAG Socket]]&lt;br /&gt;
* [[2MB RAM Expansion]]&lt;br /&gt;
* [[Beeper (hardware) | Beeper]]&lt;br /&gt;
* &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=6&amp;amp;t=544 Specnext Forums] &lt;br /&gt;
: A link to the forums discussing hardware additions&lt;br /&gt;
&lt;br /&gt;
=== Peripherals ===&lt;br /&gt;
&lt;br /&gt;
* [[Mouse]]&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/extra-hw/pinouts/pinouts.txt Pinouts (Joystick / VGA / GPIO / Daugherboard / Beeper]&lt;br /&gt;
&lt;br /&gt;
=== Classic Peripheral Information ===&lt;br /&gt;
&lt;br /&gt;
* [[esxDOS together with Interface 1]]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
&lt;br /&gt;
* [https://www.specnext.com/forum/ Official forums]&lt;br /&gt;
* [https://www.facebook.com/groups/specnext Facebook group]&lt;br /&gt;
* [https://discordapp.com/invite/HdRvZVw Discord chat]&lt;br /&gt;
* [https://www.specnext.com/ Official site]&lt;br /&gt;
* [https://wiki.specnext.dev/ZX_Next_Clones Running the Next core on ZX Next clones]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
* [[Bibliography]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiki &amp;quot;to do&amp;quot; list =&lt;br /&gt;
* [[Wiki TODO list]] (can be used also as warning which pages may contain outdated information)&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41399</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Main_Page&amp;diff=41399"/>
		<updated>2025-11-19T23:59:46Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== References ==&lt;br /&gt;
&lt;br /&gt;
=== [[FAQ]] === &lt;br /&gt;
&lt;br /&gt;
[[FAQ|Click here to go to the FAQ page]]&lt;br /&gt;
&lt;br /&gt;
=== System architecture ===&lt;br /&gt;
* [[Specifications]]&lt;br /&gt;
* [[Extended Z80 instruction set]]&lt;br /&gt;
* [[Memory map]] and switching mechanics&lt;br /&gt;
* [[Reference machines]] and timing&lt;br /&gt;
* [[Boot Sequence]]&lt;br /&gt;
* [[Board feature control]] (NextRegs) and port list&lt;br /&gt;
* [[Interrupts]]&lt;br /&gt;
* [[RPi0 Acceleration]]&lt;br /&gt;
* [[DMA|zxnDMA]]&lt;br /&gt;
* [[CTC]]&lt;br /&gt;
* [[Copper]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Z80 programming]]&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* [[Video Modes | Enhanced ULA Modes]]&lt;br /&gt;
* [[Tilemap]]&lt;br /&gt;
* [[Sprites]]&lt;br /&gt;
* [[Layer 2]]&lt;br /&gt;
* [[Palettes]]&lt;br /&gt;
* [[Blend Modes]]&lt;br /&gt;
* [[Refresh Rates]]&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* [[Turbo Sound Next]]&lt;br /&gt;
* [[SpecDrum/DAC]]&lt;br /&gt;
* [[Beeper (audio) | Beeper]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue TBBlue Official Distribution git repository]&lt;br /&gt;
* [https://gitlab.com/SpectrumNext/ZX_Spectrum_Next_FPGA/-/tree/master Official Next Core git repository]&lt;br /&gt;
* [[NextZXOS]]&lt;br /&gt;
* [[ESXDOS]]&lt;br /&gt;
* [[NextBASIC]]&lt;br /&gt;
* [[System Variables]]&lt;br /&gt;
* [[API|esxDOS and NextZXOS APIs]]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
* [[Circuit Diagrams]]&lt;br /&gt;
&lt;br /&gt;
=== [[Development Tools and Selected Software]] ===&lt;br /&gt;
* [[Emulators]]&lt;br /&gt;
* [[Assemblers]]&lt;br /&gt;
* [[Compilers]]&lt;br /&gt;
* [[Audio_/_Music | Audio/Music]]&lt;br /&gt;
* [[Miscellaneous]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware Expansion ===&lt;br /&gt;
&lt;br /&gt;
Your next computer can be expanded internally to add additional functionality. &lt;br /&gt;
* [[RTC | RTC - Real Time Clock]] &lt;br /&gt;
* [[RPi0_Acceleration| Accelerator - Raspberry Pi Zero]]&lt;br /&gt;
* [[ESP8266-01 | ESP8266-01 - Wifi Module]] &lt;br /&gt;
* [[Expansion | Expansion Slot]]&lt;br /&gt;
* [[GPIO Socket (J15)]]&lt;br /&gt;
* [[JTAG Socket]]&lt;br /&gt;
* [[2MB RAM Expansion]]&lt;br /&gt;
* [[Beeper (hardware) | Beeper]]&lt;br /&gt;
* &#039;&#039;[https://www.specnext.com/forum/viewtopic.php?f=6&amp;amp;t=544 Specnext Forums] &lt;br /&gt;
: A link to the forums discussing hardware additions&lt;br /&gt;
&lt;br /&gt;
=== Peripherals ===&lt;br /&gt;
&lt;br /&gt;
* [[Mouse]]&lt;br /&gt;
* [https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/extra-hw/pinouts/pinouts.txt Pinouts (Joystick / VGA / GPIO / Daugherboard / Beeper]&lt;br /&gt;
&lt;br /&gt;
=== Classic Peripheral Information ===&lt;br /&gt;
&lt;br /&gt;
* [[esxDOS together with Interface 1]]&lt;br /&gt;
&lt;br /&gt;
= Community =&lt;br /&gt;
&lt;br /&gt;
* [https://www.specnext.com/forum/ Official forums]&lt;br /&gt;
* [https://www.facebook.com/groups/specnext Facebook group]&lt;br /&gt;
* [https://discordapp.com/invite/HdRvZVw Discord chat]&lt;br /&gt;
* [https://www.specnext.com/ Official site]&lt;br /&gt;
* [https://wiki.specnext.dev/ZX_Next_Clones Running the Next core on ZX Next clones]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
* [[Bibliography]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiki &amp;quot;to do&amp;quot; list =&lt;br /&gt;
* [[Wiki TODO list]] (can be used also as warning which pages may contain outdated information)&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41390</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41390"/>
		<updated>2025-11-14T23:02:19Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Image file name only relates to that specific example. Formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into &amp;lt;code&amp;gt;~/mame/roms&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one] (the SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file).&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top of the original one in the install location, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41389</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41389"/>
		<updated>2025-11-14T22:52:01Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: CI build rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top of the original one in the install location, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41388</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41388"/>
		<updated>2025-11-14T22:50:19Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primary repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41387</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41387"/>
		<updated>2025-11-14T22:49:46Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: CI build rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primay repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary from its installation location - these are called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41386</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41386"/>
		<updated>2025-11-14T22:46:43Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainer or pushed to the primay repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary - these can be called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41385</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41385"/>
		<updated>2025-11-14T22:44:17Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added CI builds section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Continuous Integration MAME Builds=&lt;br /&gt;
&lt;br /&gt;
MAME is updated on a release schedule, but due to the ongoing nature of development, including for the MAME Next machine, it can be sometimes useful to install a recent build, if it contains a new feature or bugfix you are interested in. Sometimes ongoing work is discussed on social media, like [https://discordapp.com/channels/556228195767156758/752197165891321886 Discord].&lt;br /&gt;
&lt;br /&gt;
Continuous Integration (CI) builds are available from both the [https://github.com/mamedev/mame/actions primamry MAME] and [https://github.com/holub/mame/actions holub] github repos. Both are considered bleeding-edge, with the primary MAME repo slightly less so. MAME CI builds are availble for Windows, linux and MacOS, and are updated automatically every time code is committed by a maintainee or pushed to the primay repo.&lt;br /&gt;
&lt;br /&gt;
To try out a CI build, do a fill MAME install from the [https://www.mamedev.org/release.html latest release] first, if you have not already done so. Then back up your main binary - these can be called something like &amp;lt;code&amp;gt;mame.exe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mame&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mametiny&amp;lt;/code&amp;gt;. You can always restore these if the CI build doesn&#039;t work, or you don&#039;t like how it behaves.&lt;br /&gt;
&lt;br /&gt;
Then visit the one of the links above, and find a workflow run item for your platform - these are flagged as &amp;lt;code&amp;gt;CI (Windows)&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;CI (Linux)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CI (macOS)&amp;lt;/code&amp;gt;. Click on it and find the Artifacts section at the bottom, then click the download button. Unzip the downloaded file and find the main binary (same name as above). Copy the main binary over the top, and run MAME the same way your were running it before. On Windows you may have to do an additional step of trusting the binary (Run Anyway).&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41384</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41384"/>
		<updated>2025-11-14T22:14:53Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: CSpect statement of maintenance and support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== WARNING: =====&lt;br /&gt;
&lt;br /&gt;
The current Next emulators are work-in-progress, missing several features of real HW Next, and emulating other features in less than cycle-accurate way (which become a &amp;quot;norm&amp;quot; for classic ZX Spectrum after two decades of emulators development). The differences in results between real Next and CSpect or ZEsarUX are to be expected - as a developer test your SW also with real HW to find any problems early. It may also help to read the known-bugs pages to have some rough idea what works and how accurately. There&#039;re also multiple test-suites and free games and demos which you can try to go through and compare the emulator output with real machine, to get familiar with the differences and adjust your workflow and expectations.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also make sure to explore the command line options and configuration of each emulator, as there are multiple ways how to run them with different fidelity of emulation. When in doubt, you are welcome to join the official ZX Spectrum Next discord chat and ask for help at #emulator-help channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently the most UI and performance friendly emulator seems to be #CSpect, the most accurate emulator is MAME.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Name||Author||Known bugs||Description||OS||Source||Maintained&lt;br /&gt;
|-&lt;br /&gt;
|[https://mdf200.itch.io/cspect CSpect]||[https://lemmings.info/about/ Mike Dailly]||[[CSpect:known bugs|List]]||Emulates many features of the Next and includes a fully featured debugger, complete with 24bit breakpoints and an assembler||Windows ([https://lemmings.info/installing-cspect-on-a-mac/ mac]/[[Development_Tools:Linux_setup##CSpect_emulator|linux]] with mono - mostly works)||No||[https://www.patreon.com/posts/crash-and-cspect-143597332 Statement of maintenance and support]&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mamedev.org/ MAME]||[https://github.com/holub holub] (Next), many contributors (MAME)||[[MAME:known bugs|List]]‎||Mature multi-system emulator with relatively recent Next support. See [[MAME:Installing|installation notes]].||Any||[https://github.com/mamedev/mame Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://gitlab.com/garrylancaster/zenext ZENext]||[https://github.com/chernandezba César Hernández Bañó], [https://gitlab.com/garrylancaster Garry Lancaster]|| |||ZX Next-only fork of ZEsarUX emulating most of the core 3.1.10 features to make it run NextZXOS 2.07 (and possibly 2.08/2.09) (missing some features like CTC timers).||Any||[https://gitlab.com/garrylancaster/zenext Yes]||Occasionally&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/chernandezba/zesarux/releases ZEsarUX]||César Hernández Bañó|||[[ZEsarUX:known bugs|List]]||A full feature emulator including a debugger - sometimes updated to support Next (TBBlue)||Any||[https://github.com/chernandezba/zesarux Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 ZESERUse]||César Hernández Bañó, [https://github.com/ped7g Peter Helcmanovsky]||[[ZESERUse:known bugs|List]]||Fork of older ZEsarUX 8.2 with improved emulation accuracy of (rather old) core 3.1.5||Any||[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 Yes]||Rarely&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.desdes.com/products/oldfiles/zeus.htm Zeus]||[https://www.desdes.com/ Simon Brattel]|| || A PC cross-assembler which includes an IDE and Spectrum 48/128/+2/+3 emulator. Includes support for Next MMU banking, sprites and UART only, with remote debugging on Next hardware.||Windows||No||No&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41383</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41383"/>
		<updated>2025-11-14T21:56:01Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: CSpect available but not supported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== WARNING: =====&lt;br /&gt;
&lt;br /&gt;
The current Next emulators are work-in-progress, missing several features of real HW Next, and emulating other features in less than cycle-accurate way (which become a &amp;quot;norm&amp;quot; for classic ZX Spectrum after two decades of emulators development). The differences in results between real Next and CSpect or ZEsarUX are to be expected - as a developer test your SW also with real HW to find any problems early. It may also help to read the known-bugs pages to have some rough idea what works and how accurately. There&#039;re also multiple test-suites and free games and demos which you can try to go through and compare the emulator output with real machine, to get familiar with the differences and adjust your workflow and expectations.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also make sure to explore the command line options and configuration of each emulator, as there are multiple ways how to run them with different fidelity of emulation. When in doubt, you are welcome to join the official ZX Spectrum Next discord chat and ask for help at #emulator-help channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently the most UI and performance friendly emulator seems to be #CSpect, the most accurate emulator is MAME.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Name||Author||Known bugs||Description||OS||Source||Maintained&lt;br /&gt;
|-&lt;br /&gt;
|[https://mdf200.itch.io/cspect CSpect]||[https://lemmings.info/about/ Mike Dailly]||[[CSpect:known bugs|List]]||Emulates many features of the Next and includes a fully featured debugger, complete with 24bit breakpoints and an assembler||Windows ([https://lemmings.info/installing-cspect-on-a-mac/ mac]/[[Development_Tools:Linux_setup##CSpect_emulator|linux]] with mono - mostly works)||No||[https://www.patreon.com/posts/crash-and-cspect-143597332 Yes, no support]&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mamedev.org/ MAME]||[https://github.com/holub holub] (Next), many contributors (MAME)||[[MAME:known bugs|List]]‎||Mature multi-system emulator with relatively recent Next support. See [[MAME:Installing|installation notes]].||Any||[https://github.com/mamedev/mame Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://gitlab.com/garrylancaster/zenext ZENext]||[https://github.com/chernandezba César Hernández Bañó], [https://gitlab.com/garrylancaster Garry Lancaster]|| |||ZX Next-only fork of ZEsarUX emulating most of the core 3.1.10 features to make it run NextZXOS 2.07 (and possibly 2.08/2.09) (missing some features like CTC timers).||Any||[https://gitlab.com/garrylancaster/zenext Yes]||Occasionally&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/chernandezba/zesarux/releases ZEsarUX]||César Hernández Bañó|||[[ZEsarUX:known bugs|List]]||A full feature emulator including a debugger - sometimes updated to support Next (TBBlue)||Any||[https://github.com/chernandezba/zesarux Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 ZESERUse]||César Hernández Bañó, [https://github.com/ped7g Peter Helcmanovsky]||[[ZESERUse:known bugs|List]]||Fork of older ZEsarUX 8.2 with improved emulation accuracy of (rather old) core 3.1.5||Any||[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 Yes]||Rarely&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.desdes.com/products/oldfiles/zeus.htm Zeus]||[https://www.desdes.com/ Simon Brattel]|| || A PC cross-assembler which includes an IDE and Spectrum 48/128/+2/+3 emulator. Includes support for Next MMU banking, sprites and UART only, with remote debugging on Next hardware.||Windows||No||No&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41382</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41382"/>
		<updated>2025-11-14T16:19:56Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added #sd fragment to hosgted SD images link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/#sd are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41381</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41381"/>
		<updated>2025-11-14T16:13:44Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Linked and fixed up names for working hosted 2GB SD image for everything, except in the creating new image section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, but all images from https://zxnext.uk/hosted/ are now confirmed to work with both MAME and CSpect, including the official ones, including [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-2gb.zip this one]. &lt;br /&gt;
&lt;br /&gt;
The SD card image is the &amp;lt;code&amp;gt;cspect-next-2gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find cspect-next-2gb.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41379</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41379"/>
		<updated>2025-11-13T17:21:45Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Added GPL-3 compliant bootroms dowload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download [https://github.com/Threetwosevensixseven/NexCreator/raw/master/bootroms/tbblue.zip tbblue.zip] and put it into your MAME roms folder. This file can be obtained on the [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server]. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, including the official ones, but [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-4gb.zip this one] works with MAME. The SD card image is the &amp;lt;code&amp;gt;cspect-next-4gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find sn-emulator-22.10a.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41378</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41378"/>
		<updated>2025-11-13T16:55:35Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download &amp;lt;code&amp;gt;tbblue.zip&amp;lt;/code&amp;gt; and put it into your MAME roms folder. This file can be obtained on the [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server]. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS]. Some published images do not work with some emulators, including the official ones, but [https://zxnext.uk/hosted/index_files/hdfimages/cspect-next-4gb.zip this one] works with MAME. The SD card image is the &amp;lt;code&amp;gt;cspect-next-4gb.img&amp;lt;/code&amp;gt; file within the zip file.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find sn-emulator-22.10a.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41377</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41377"/>
		<updated>2025-11-13T16:49:21Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
The latest MAME version for Windows is available [https://www.mamedev.org/release.html here] and macOS builds can be downloaded [https://sdlmame.lngn.net/ from here.] For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download &amp;lt;code&amp;gt;tbblue.zip&amp;lt;/code&amp;gt; and put it into your MAME roms folder. This file can be obtained on the [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server]. Under Linux you can copy your MAME roms into ~/mame/roms. &lt;br /&gt;
&lt;br /&gt;
You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS] (see [https://www.specnext.com/latestdistro/ here for the latest.] The SD card image is within the zip file called something like sn-emulator-WX.YZ.zip.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find sn-emulator-22.10a.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image, change the count value to make the image file as big as you want in megabytes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= More MAME links =&lt;br /&gt;
The source code is available [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp here.]&lt;br /&gt;
 &lt;br /&gt;
Report any issues with MAME on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41374</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41374"/>
		<updated>2025-11-13T16:27:26Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
Latest version for Windows is available [https://www.mamedev.org/release.html here]. For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download &amp;lt;code&amp;gt;tbblue.zip&amp;lt;/code&amp;gt; and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. This file can be obtained on the [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server]. You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS] (see [https://www.specnext.com/latestdistro/ here for the latest.] The SD card image is within the zip file called something like sn-emulator-WX.YZ.zip.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find sn-emulator-22.10a.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
Check [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp sources ] and find the way to contribute if you aware of missing pieces.&lt;br /&gt;
 &lt;br /&gt;
Report any issues on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41373</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41373"/>
		<updated>2025-11-13T16:25:25Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: Download needs to be GPL-3 compliant, await lincensing details before publicly sharing it, sorry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
Latest version for Windows is available [https://www.mamedev.org/release.html here]. For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
Linux users can install the latest stable version of MAME from the flatpak repositories by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo flatpak install org.mamedev.MAME&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In the case of the Next download `tbblue.zip` and put it into your MAME roms folder. Under Linux you can copy your MAME roms into ~/mame/roms. This file can be obtained on the [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server]. You also need an SD card image of [https://www.specnext.com/system-next22-10/ NextZXOS] (see [https://www.specnext.com/latestdistro/ here for the latest.] The SD card image is within the zip file called something like sn-emulator-WX.YZ.zip.&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with a desired configuration is from the command prompt. Most of the features are also available from MAME&#039;s UI, but that takes more time to configure.&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
To launch the Linux flatpak version using the same options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; flatpak run org.mamedev.MAME tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
Also, this combination of parameters enables the &amp;quot;crisp&amp;quot; pixels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mame -ui_active  -nounevenstretch -aspect 2:1 -video bgfx  -bgfx_screen_chains unfiltered -window -skip_gameinfo  -mouse_device none  tbblue -hard1 /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And if you don&#039;t need to use a joystick attached to the PC there&#039;s a chance that a little faster startup will be when &amp;lt;code&amp;gt;-joystickprovider none &amp;lt;/code&amp;gt; is added to the command line.&lt;br /&gt;
&lt;br /&gt;
= Keys =&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes: to control MAME or completely dedicated to the emulated system. You can toggle between these two keyboard modes with ScrLk or Fn+delete under macOS.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* F6 - save state&lt;br /&gt;
* F7 - load state&lt;br /&gt;
* Tab - emulator settings&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (Linux) or Insert (Win) -- max speed (only while it&#039;s pressed; can be used e.g. to speed up boot)&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Changing the UI toggle key =&lt;br /&gt;
&lt;br /&gt;
Some laptops don&#039;t have a Scroll Lock key so you won&#039;t be able to exit MAME if you run it in full screen mode hence you will need to change the UI toggle key.&lt;br /&gt;
&lt;br /&gt;
Follow these steps to change the UI toggle key:&lt;br /&gt;
&lt;br /&gt;
* Run MAME without any command line arguments (except maybe -window) to open its GUI.&lt;br /&gt;
* Push TAB and enter the General Settings menu.&lt;br /&gt;
* Go to Input Assignments -&amp;gt; User Interface -&amp;gt; Toggle UI controls and select a new key. I use Right Alt / Alt GR.&lt;br /&gt;
* Return to Previous menu twice then choose Save Settings&lt;br /&gt;
&lt;br /&gt;
= Mounting SD card images under Linux =&lt;br /&gt;
&lt;br /&gt;
Under Linux you can use losetup to mount SD card images as loop devices which enables you to copy files to and from the image and perform other file management tasks as you would using any other filesystem.&lt;br /&gt;
&lt;br /&gt;
Run the following commands as the root user to mount an image called sn-emulator-22.10a.img under the /mnt directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find sn-emulator-22.10a.img&lt;br /&gt;
mount /dev/loop0p1 /mnt/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have finished modifying the SD card image, cd out of /mnt then unmount and detach the loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Creating a NextZXOS SD card image under Linux =&lt;br /&gt;
&lt;br /&gt;
Most users wanting to emulate the Next using MAME will be fine using a pre-built SD card image downloaded from the specnext website but the following guide is provided for anyone wanting to create a NextZXOS SD card image from scratch.&lt;br /&gt;
&lt;br /&gt;
Download the [https://www.specnext.com/latestdistro/ latest NextZXOS distribution zip file] (named something like sn-complete-WX.YZ.zip) and extract it into a new, empty directory.&lt;br /&gt;
&lt;br /&gt;
Create a disk image of at least 256 MB. The current complete NextZXOS distro requires at least 130 MB of disk space. This command will create a 256 MB SD card image:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dd if=/dev/zero of=NextZXOS.img bs=1M count=256&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest of the commands in this guide must be run as the root user or using sudo.&lt;br /&gt;
&lt;br /&gt;
You will need the dosfstools and parted packages, if you don&#039;t already have them installed. Debian and Ubuntu Linux users can install these using this apt command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt install dosfstools parted&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the SD card image loopback device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;losetup --partscan --show --find NextZXOS.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a FAT32 partition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;parted /dev/loop0 mklabel msdos&lt;br /&gt;
parted /dev/loop0 mkpart primary fat32 1MB 100%&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Format and mount the partition under /mnt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkfs.vfat -F 32 /dev/loop0p1&lt;br /&gt;
mount /dev/loop0p1 /mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now copy all of the files you extracted from sn-complete-WX.YZ.zip into /mnt.&lt;br /&gt;
&lt;br /&gt;
After copying the files, unmount and detach the loopback device (the SD card image):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;umount /mnt/&lt;br /&gt;
losetup -D&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
Check [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp sources ] and find the way to contribute if you aware of missing pieces.&lt;br /&gt;
 &lt;br /&gt;
Report any issues on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41355</id>
		<title>Emulators</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Emulators&amp;diff=41355"/>
		<updated>2025-11-11T20:05:53Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===== WARNING: =====&lt;br /&gt;
&lt;br /&gt;
The current Next emulators are work-in-progress, missing several features of real HW Next, and emulating other features in less than cycle-accurate way (which become a &amp;quot;norm&amp;quot; for classic ZX Spectrum after two decades of emulators development). The differences in results between real Next and CSpect or ZEsarUX are to be expected - as a developer test your SW also with real HW to find any problems early. It may also help to read the known-bugs pages to have some rough idea what works and how accurately. There&#039;re also multiple test-suites and free games and demos which you can try to go through and compare the emulator output with real machine, to get familiar with the differences and adjust your workflow and expectations.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also make sure to explore the command line options and configuration of each emulator, as there are multiple ways how to run them with different fidelity of emulation. When in doubt, you are welcome to join the official ZX Spectrum Next discord chat and ask for help at #emulator-help channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently the most UI and performance friendly emulator seems to be #CSpect, the most accurate emulator is MAME.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
!Name||Author||Known bugs||Description||OS||Source||Maintained&lt;br /&gt;
|-&lt;br /&gt;
|CSpect||[https://lemmings.info/about/ Mike Dailly]||[[CSpect:known bugs|List]]||Emulates many features of the Next and includes a fully featured debugger, complete with 24bit breakpoints and an assembler||Windows ([https://lemmings.info/installing-cspect-on-a-mac/ mac]/[[Development_Tools:Linux_setup##CSpect_emulator|linux]] with mono - mostly works)||No||[https://www.patreon.com/posts/change-of-143208075 Yes, privately]&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mamedev.org/ MAME]||[https://github.com/holub holub] (Next), many contributors (MAME)||[[MAME:known bugs|List]]‎||Mature multi-system emulator with relatively recent Next support. See [[MAME:Installing|installation notes]].||Any||[https://github.com/mamedev/mame Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://gitlab.com/garrylancaster/zenext ZENext]||[https://github.com/chernandezba César Hernández Bañó], [https://gitlab.com/garrylancaster Garry Lancaster]|| |||ZX Next-only fork of ZEsarUX emulating most of the core 3.1.10 features to make it run NextZXOS 2.07 (and possibly 2.08/2.09) (missing some features like CTC timers).||Any||[https://gitlab.com/garrylancaster/zenext Yes]||Occasionally&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/chernandezba/zesarux/releases ZEsarUX]||César Hernández Bañó|||[[ZEsarUX:known bugs|List]]||A full feature emulator including a debugger - sometimes updated to support Next (TBBlue)||Any||[https://github.com/chernandezba/zesarux Yes]||Yes&lt;br /&gt;
|-&lt;br /&gt;
|[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 ZESERUse]||César Hernández Bañó, [https://github.com/ped7g Peter Helcmanovsky]||[[ZESERUse:known bugs|List]]||Fork of older ZEsarUX 8.2 with improved emulation accuracy of (rather old) core 3.1.5||Any||[https://github.com/ped7g/zesarux/tree/tbblue_small_fixes2 Yes]||Rarely&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.desdes.com/products/oldfiles/zeus.htm Zeus]||[https://www.desdes.com/ Simon Brattel]|| || A PC cross-assembler which includes an IDE and Spectrum 48/128/+2/+3 emulator. Includes support for Next MMU banking, sprites and UART only, with remote debugging on Next hardware.||Windows||No||No&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41352</id>
		<title>MAME:Installing</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=MAME:Installing&amp;diff=41352"/>
		<updated>2025-11-11T19:23:08Z</updated>

		<summary type="html">&lt;p&gt;SevenFFF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mamedev.org/ MAME] (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, later expanded to include video game consoles, old computers and other systems in software on modern personal computers and other platforms.&lt;br /&gt;
&lt;br /&gt;
MAME supports The ZX Spectrum Next since version 0.267. Existing implementation is based on v3.02.01 core and implements most of the features.&lt;br /&gt;
&lt;br /&gt;
= Get =&lt;br /&gt;
Latest version for Windows is available [https://www.mamedev.org/release.html here]. For the MAME platform as a whole, check your package manager or [https://docs.mamedev.org/initialsetup/compilingmame.html build from sources].&lt;br /&gt;
&lt;br /&gt;
= Use =&lt;br /&gt;
In order to run the Next (and any others) you need to acquire rom dumps for the system.&lt;br /&gt;
In case of the Next download [[tbblue.zip]] and put in roms folder. Until this zip file is publicly hosted, it can be obtained on [https://discordapp.com/channels/556228195767156758/752197165891321886/1419706726311264387 Spectrum Next Discord server].&lt;br /&gt;
&lt;br /&gt;
The fastest way to run a machine with desired configuration is command prompt (most of the feature available from UI, but that&#039;s take more time).&lt;br /&gt;
Let&#039;s discover some useful options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use window and no mouse more till you get familiar with UI keys:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; mame tbblue -window -mouse_device none -hard /path/to/next-distribution.img&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Activate UI keys on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -ui_active&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Don&#039;t show info popup on startup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ...-skip_gameinfo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Run with debugger. If not requested on startup, you won&#039;t have access to it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; ... -debug&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check [https://docs.mamedev.org/ official docs] for more advanced usage.&lt;br /&gt;
&lt;br /&gt;
== Keys ==&lt;br /&gt;
&lt;br /&gt;
Keys are emulated in two modes (toggled with ScrLk): with internal UI or completely dedicated to emulated system.&lt;br /&gt;
&lt;br /&gt;
Some UI keys:&lt;br /&gt;
* F3 - soft reset&lt;br /&gt;
* Shift+F3 - hard reset&lt;br /&gt;
* F4 - sprites/tiles/font viewer (Enter, ], [)&lt;br /&gt;
* ~ - menu&lt;br /&gt;
* PgDwn (hold) - max speed&lt;br /&gt;
* Esc - exit&lt;br /&gt;
* F12 - MF NMI&lt;br /&gt;
* F11 - DivMMC NMI&lt;br /&gt;
&lt;br /&gt;
= Next =&lt;br /&gt;
Check [https://github.com/mamedev/mame/blob/master/src/mame/sinclair/specnext.cpp sources ] and find the way to contribute if you aware of missing pieces.&lt;br /&gt;
 &lt;br /&gt;
Report any issues on the [https://mametesters.org/ bugtracker].&lt;/div&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
</feed>