<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.mamedev.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cuavas</id>
	<title>MAMEDEV Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mamedev.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cuavas"/>
	<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Special:Contributions/Cuavas"/>
	<updated>2026-04-19T12:23:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=UML_Architecture&amp;diff=9584</id>
		<title>UML Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=UML_Architecture&amp;diff=9584"/>
		<updated>2025-10-03T17:59:20Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Opcodes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes the Universal Machine Language runtime architecture.&lt;br /&gt;
&lt;br /&gt;
== Machine Architecture ==&lt;br /&gt;
&lt;br /&gt;
At its heart, the Universal Machine Language describes an abstract, primarily 32-bit computer architecture. It has been designed with several goals in mind:&lt;br /&gt;
&lt;br /&gt;
* dynamic recompilers should be able to express common operations simply&lt;br /&gt;
* 64-bit integer operations should be supported, even if they are not preferred&lt;br /&gt;
* creating x86 and PowerPC back-ends (both 32-bit and 64-bit) should be relatively straightforward&lt;br /&gt;
* a back-end written in a high-level language such as C should have reasonable performance&lt;br /&gt;
&lt;br /&gt;
In addition to a collection of opcodes, described below, the Universal Machine Language also describes an abstract runtime architecture with several basic requirements:&lt;br /&gt;
&lt;br /&gt;
* 10 64-bit integer registers (i0-i9)&lt;br /&gt;
* 10 64-bit floating point registers (f0-f9)&lt;br /&gt;
* 10 32-bit &amp;quot;map variables&amp;quot; (m0-m9) which map values onto sections of code&lt;br /&gt;
* 5 flag bits that can be optionally set on most instructions&lt;br /&gt;
* 1 internal exception parameter register&lt;br /&gt;
* a 16-entry call stack for subroutine and exception handling&lt;br /&gt;
&lt;br /&gt;
Because each back-end targets a different final CPU architecture, these abstract requirements may not map perfectly; however, it is the job of the back-end code generator to provide an implementation that fully supports all of these requirements. For example, there may not be enough free actual system registers to hold 10 64-bit values, so some of those registers may be implicitly converted by the backend into memory references. More details on how to provide these abstractions will be available in the [[Back-End Author&#039;s Guide]].&lt;br /&gt;
&lt;br /&gt;
== Code Cache ==&lt;br /&gt;
&lt;br /&gt;
One of the primary features of a dynamic recompiler is its ability to cache and quickly recall already-translated code. Because of this, the concept of a &#039;&#039;&#039;code cache&#039;&#039;&#039; is central to the UML. The code cache not only contains all the generated code, along with the necessary hash tables to find it, but it also serves as a general heap for any data referenced by the generated code. Memory can be allocated from the cache and thus kept in the vicinity of the code that is likely to reference it. On many architectures, memory that is close to the code can be more efficiently accessed, so it is important to make good use of the memory management provided by the cache.&lt;br /&gt;
&lt;br /&gt;
The cache is created by the dynamic recompiler at initialization time. The size of the cache is fixed once it is created, so it is important to create a cache that is large enough to hold a typical translated working set. If the cache is too small, then code will be flushed from it relatively quickly, and your CPU usage will increase because you are spending extra time to re-translate code that could have been executed from the cache.&lt;br /&gt;
&lt;br /&gt;
[[Image:cache.png]]&lt;br /&gt;
&lt;br /&gt;
The cache is divided into three sections. The topmost section is known as the &#039;&#039;&#039;near cache&#039;&#039;&#039; and is a fixed size (64k). The near cache is where frequently-accessed data should be stored. Generally this includes the current architectural state of the CPU that is being emulated, along with tables or other data that is frequently accessed by the UML code. It is also important to realize that many UML opcodes support using memory locations as parameters, but only if those memory locations are within the near cache.&lt;br /&gt;
&lt;br /&gt;
The bottommost section of the cache is where permanent memory allocations are taken from. Data structures that are used and re-used throughout the lifetime of the dynamic recompiler are allocated here. When memory is allocated from this section, the &#039;&#039;&#039;cache end&#039;&#039;&#039; is moved downward, reducing the amount of free space in the cache. Although memory that has been allocated from this section can be freed, it does not affect the position of the cache end. Rather, that data is kept in a free list and re-used for the next memory allocation of a similar size.&lt;br /&gt;
&lt;br /&gt;
The middle section of the cache is where the most action is. This is where all temporary memory allocations and code generation takes place. It starts at the &#039;&#039;&#039;cache base&#039;&#039;&#039;, which is simply fixed at the end of the near cache, and can expand as far as the cache end, which is where the permanent memory allocations lie. The &#039;&#039;&#039;cache top&#039;&#039;&#039; represents the position within this region where the next code will be generated or the next block of memory allocated. As code is generated and added to the cache, the cache top moves forward until it reaches the cache end. When that happens, the cache is flushed. A flush simply resets the cache top back to the cache base, effectively throwing away everything that has accumulated in this middle section and starting over.&lt;br /&gt;
&lt;br /&gt;
Although it could be argued that there might be value in keeping some frequently-used cached code around when running out of space, in practice it is not worth the extra bookeeping necessary to make that determination. The dynamic recompiler and back-end should operate relatively quickly, making the performance hit of regenerating the code minimal.&lt;br /&gt;
&lt;br /&gt;
== Code Generation ==&lt;br /&gt;
&lt;br /&gt;
UML code is generated in &#039;&#039;&#039;blocks&#039;&#039;&#039;. A block of UML code is defined to be self-contained. That is, all local jumps within the code are resolved, and all calls or jumps to code outside of the block are performed via either &#039;&#039;&#039;code handles&#039;&#039;&#039; or &#039;&#039;&#039;code hashes&#039;&#039;&#039;, which are described below. In general, a code block is either a subroutine or a translated sequence of code. The dynamic recompiler generates the block one instruction at a time using helper functions and macros provided by the UML system, which in response encodes the instruction opcodes and parameters into a sequence of structures. Once a block is complete, the dynamic recompiler notifies the UML system, who takes the list of structures and hands it off to the back-end to perform final translation.&lt;br /&gt;
&lt;br /&gt;
One potential problem is that during code generation, the back-end may run out of space in the cache. When this happens, the cache needs to be flushed, and whatever was being generated needs to be regenerated from scratch. To accomplish this, the UML makes use of setjmp/longjmp. Before a block is started, the dynamic recompiler performs a setjmp and passes the jump buffer to the UML. If at any time the cache runs out of space, the UML performs a longjmp back to the starting point, which is responsible for flushing the cache and starting the codegen over again.&lt;br /&gt;
&lt;br /&gt;
== Code Flow ==&lt;br /&gt;
&lt;br /&gt;
Becase the details of back-end code generation are abstracted, code flow becomes a little tricky, since the addresses of the code you wish to jump to are not known until the back-end translates to the final code. To remedy this, the UML introduces three concepts: code handles, code hashes, and code labels.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;code handle&#039;&#039;&#039; is a globally accessible reference to a block of code. In practice, a code handle is allocated from the near cache by the dynamic recompiler and contains a pointer to the generated code provided by the back-end. When first allocated, a code handle is empty, since the back-end hasn&#039;t had a chance to generate the final code yet. Similarly, when the cache is flushed, all code handles are automatically reset to their empty state, since any code they referenced has been jettisoned. During back-end code generation, when a &#039;&#039;&#039;HANDLE&#039;&#039;&#039; opcode is encountered, the back-end will fill in the code handle&#039;s code pointer with the current cache top, which is where subsequent code will be generated.&lt;br /&gt;
&lt;br /&gt;
To execute code referenced by a handle, the dynamic recompiler calls the UML from C code, passing in the handle where it should begin execution. A pointer to the generated code for this handle is extracted from the handle and then the back-end is called to begin execution. UML code can also make subroutine calls to handle-based code via the &#039;&#039;&#039;CALLH&#039;&#039;&#039; opcode, or it can invoke handle-based code to handle an exception via the &#039;&#039;&#039;EXH&#039;&#039;&#039; opcode.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;code hash&#039;&#039;&#039; is a more indirect way to create a global reference to a block of code, more typically used for hopping between blocks of translated code. As its name implies, a code hash is filed away in a hash table or some other structure that is maintained by the back-end code. A code hash is represented by two values: a &#039;&#039;&#039;PC&#039;&#039;&#039;, which is typically the linear address of a block of code, and a &#039;&#039;&#039;mode&#039;&#039;&#039;, which allows further differentiation between code which may live at the same PC but execute in different contexts. During back-end code generation, when a &#039;&#039;&#039;HASH&#039;&#039;&#039; opcode is encountered, the back-end will take the PC and mode specified in the opcode and create an entry in its hash table pointing to the current cache top.&lt;br /&gt;
&lt;br /&gt;
The only way to execute code referenced in the hash table is via the UML opcode &#039;&#039;&#039;HASHJMP&#039;&#039;&#039;, which accepts a mode and PC, performs the lookup, and either continues execution at the target code entry, or generates an exception if no code exists for that hash entry.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;code label&#039;&#039;&#039; is a mechanism to handle branches within a block. Code labels can be seen as analagous to labels in a typical assembly language. The primary difference is that the label itself is the UML opcode &#039;&#039;&#039;LABEL&#039;&#039;&#039; with a 32-bit integer identifier that must be unique within the block. Because the label itself is an opcode, it is easy for the back-end to determine whether a given instruction can be blended with neighboring instructions, since branches can only occur to the label opcodes. Labels are not resolved until back-end code generation, so if you make a mistake and reference an invalid label or forget to define a label, it won&#039;t be caught until the block is ended.&lt;br /&gt;
&lt;br /&gt;
Code labels can be branched to via the &#039;&#039;&#039;JMP&#039;&#039;&#039; instruction, either unconditionally or via one of 16 conditions.&lt;br /&gt;
&lt;br /&gt;
== Opcode Conventions ==&lt;br /&gt;
&lt;br /&gt;
Before diving into the details of the opcodes, it is important to understand some general principles and conventions:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integer Registers&#039;&#039;&#039;. There are 10 integer registers, each 64-bits wide. The same registers are used for both 32-bit and 64-bit opcodes; however, unlike many real computer architectures, the upper 32 bits are fully undefined when a 32-bit operation is performed. This means you cannot load a 64-bit value, perform a 32-bit operation, and expect the upper 32 bits to be anything in particular when you are finished.&lt;br /&gt;
&lt;br /&gt;
Most back-ends are expected to assign as many integer registers to native integer registers as possible; however, some architectures do not support mapping all 10 registers in this way. Because of this, dynamic recompilers should try to use the first few registers aggressively, only resorting to the later registers where necessary.&lt;br /&gt;
&lt;br /&gt;
The contents of the integer registers are lost whenever an &#039;&#039;&#039;EXIT&#039;&#039;&#039; opcode is encountered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Floating Point Registers&#039;&#039;&#039;. As with the integer registers, there are 10 floating point registers, each 64-bits wide. The same registers are again used for both 32-bit and 64-bit opcodes, and the upper 32 bits are fully undefined when a 32-bit operation is performed.&lt;br /&gt;
&lt;br /&gt;
Floating point registers &#039;&#039;must not&#039;&#039; perform any conversions when loaded/stored/moved. This means that the floating point register set must support holding arbitrary values without performing any implicit conversion. Back-end architectures that cannot meet this requirement (e.g., the Intel x86 FPU), must keep the 10 floating point registers in memory and only convert data when performing arithmetic operations.&lt;br /&gt;
&lt;br /&gt;
Back-end support for floating point registers is often even more limited than support for integer registers, so dynamic recompilers should focus on using the first few registers as much as possible.&lt;br /&gt;
&lt;br /&gt;
The contents of the floating point registers are lost whenever an &#039;&#039;&#039;EXIT&#039;&#039;&#039; opcode is encountered.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Immediates&#039;&#039;&#039;. Immediate values can be up to 64-bits wide. Of course, it only makes sense to use immediate values that fit in the size of the opcode.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Memory Parameters&#039;&#039;&#039;. Memory parameters can be used in most of the places where register parameters are permitted. The memory parameter size is implicitly determined by the opcode. Most importantly, for the majority of instructions, any memory parameters must reside in the near cache. This is to ensure that they can be efficiently accessed on all architectures. The lone exceptions to this rule are the &#039;&#039;&#039;LOAD&#039;&#039;&#039; and &#039;&#039;&#039;STORE&#039;&#039;&#039; opcodes, which can be used to access memory anywhere.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Map Variables&#039;&#039;&#039;. Map variables are constant values that are encoded into the instruction stream. They are used to recover values when a subroutine or exception occurs, based on the caller&#039;s address. Map variables are only 32-bits wide and when used in code always translate into immediate values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flags&#039;&#039;&#039;. There are 5 flags defined by the architecture:&lt;br /&gt;
* C (bit 0) is the carry flag, and indicates an unsigned carry in arithmetic operations or the shift-out value in rotate/shift operations&lt;br /&gt;
* V (bit 1) is the overflow flag, and indicates a signed overflow in arithmetic operations&lt;br /&gt;
* Z (bit 2) is the zero flag, and indicates a zero result&lt;br /&gt;
* S (bit 3) is the sign flag, and indicates a negative result&lt;br /&gt;
* U (bit 4) is the unordered flag, and indicates that a floating point compare had at least one NaN parameter&lt;br /&gt;
Opcodes which can affect the flags must specify which flags they care about. Flags that are not explicitly requested are undefined.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conditions&#039;&#039;&#039;. Control flow instructions and simple data move instructions support an optional condition, which allows behavior to occur based on the state of the flags. Each flag can be checked for on/off independently. In addition, the usual collection of G/GE/L/LE/A/AE/B/BE conditions are available.&lt;br /&gt;
&lt;br /&gt;
== Opcodes ==&lt;br /&gt;
&lt;br /&gt;
For information about particular instructions, see the documentation web site: https://docs.mamedev.org/techspecs/uml_instructions.html&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:INTELLEC_4&amp;diff=9425</id>
		<title>Driver:INTELLEC 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:INTELLEC_4&amp;diff=9425"/>
		<updated>2024-11-01T18:38:13Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intel INTELLEC® 4 =&lt;br /&gt;
&lt;br /&gt;
The INTELLEC 4 is an Intel MCS-4/MCS-40 (4004/4040) development system with interactive debugging features.  MAME provides built-in artwork showing the state of front panel LEDs and switches.  All switches are clickable.  Due to the large number of switches and potential clashes with keys used for typing monitor commands into the terminal, most switches don&#039;t have keys assigned by default.  However, a few switches do have default keyboard assignments.&lt;br /&gt;
&lt;br /&gt;
There are three variants of the system: the original INTELLEC 4 with a 4004/4008/4009 chipset, the INTELLEC 4/MOD 40 with a 4040/4289 chipset and stop/single step features, and the INTELLEC 4/MOD 4 with a 4004 CPU and the control board from the MOD 40 jumpered to provide test line control rather than stop/single step features.  MAME emulates the MOD 4 and MOD 40 variant as the intlc44 and intlc440 drivers, respectively.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Front Panel Controls ==&lt;br /&gt;
&lt;br /&gt;
[[File:Intlc440_labelled.png|thumb|Emulated front panel]]&lt;br /&gt;
&lt;br /&gt;
The front panel controls can be used for a number of debugging tasks, including stopping the CPU and stepping one instruction at a time, checking whether conditional branches are taken, and editing program storage RAM.&lt;br /&gt;
&lt;br /&gt;
=== LEDs ===&lt;br /&gt;
&lt;br /&gt;
* STATUS LEDs:&lt;br /&gt;
** SEARCH COMPLETE indicates that the selected address has been accessed the desired number of times and the display is frozen&lt;br /&gt;
** CPU (MOD 4 only) indicates that clock phase 2 is active (power on and clock generator isn&#039;t dead)&lt;br /&gt;
** RUN (MOD 40 only) indicates that the CPU is running (i.e. not currently acknowledging a stop/halt condition)&lt;br /&gt;
** POINTER VALID indicates that a SRC instruction has been detected since the last time search mode was entered and the LAST RAM/ROM POINTER LEDs are valid&lt;br /&gt;
* MODE LEDs: indicates the currently selected program storage - MONitor ROM, console RAM card, or PROM card&lt;br /&gt;
* ADDRESS LEDs: show the opcode address accessed by the CPU, or the selected address in CMA mode&lt;br /&gt;
* INSTRUCTION LEDs: show the opcode accessed by the CPU, or data at the selected address in CMA mode&lt;br /&gt;
* EXECUTION LEDs: show the data on the bus during the X2 and X3 instruction phases (X2 is the value read/written for I/O instructions)&lt;br /&gt;
* ACTIVE BANK LEDs: show the state of the CM-RAM chip select signals during the A3 instruction phase&lt;br /&gt;
* LAST RAM/ROM POINTER LEDs: shows the address output by the most recent SRC instruction&lt;br /&gt;
&lt;br /&gt;
=== Switches ===&lt;br /&gt;
&lt;br /&gt;
* ADDRESS/DATA switches: used for entering search addresses, or RAM addresses/data in CMA mode&lt;br /&gt;
** All toggle switches, most significant bit on the left, up = 1&lt;br /&gt;
** All switches used for addresses, rightmost eight switches used for data (7-0)&lt;br /&gt;
* MODE CONTROL switches: used to switch program storage and reset the system&lt;br /&gt;
** All momentary switches, mapped to keypad 1, 2 and 3 by default&lt;br /&gt;
* PRGM PROM PWR switch: must be set to ON to allow the built-in PROM programmer to apply programming voltage&lt;br /&gt;
** Toggle switch&lt;br /&gt;
* PASS COUNTER switches: used to set the number of times the selected address should be passed over before freezing the display in search mode&lt;br /&gt;
** All toggle switches, most significant bit on the left, up = 1&lt;br /&gt;
* SEARCH ADDRESS CONTROL switches: used to select an address for search mode or CMA mode, and to control search mode features&lt;br /&gt;
** RUN and NEXT INST are toggle switches&lt;br /&gt;
** DECR, INCR and LOAD are momentary switches, mapped to keypad minus, plus and enter, respectively&lt;br /&gt;
* HOLD and ONE SHOT switches (MOD 4 only): used to control the CPU&#039;s TEST input&lt;br /&gt;
** HOLD is a toggle switch, mapped to keyboard left arrow by default&lt;br /&gt;
** ONE SHOT is a momentary switch, mapped to keyboard right arrow by default&lt;br /&gt;
* STOP and SINGLE STEP switches (MOD 40 only): used to stop the CPU and step the program one instruction at a time&lt;br /&gt;
** STOP is a toggle switch, mapped to keyboard left arrow by default&lt;br /&gt;
** SINGLE STEP is a momentary switch, mapped to keyboard right arrow by default&lt;br /&gt;
* CMA switches: used to examine/modify the content of console RAM&lt;br /&gt;
** CMA ENABLE/DISABLE is a toggle switch&lt;br /&gt;
** CMA WRITE is a momentary switch, mapped to keypad slash by default&lt;br /&gt;
* RESET CONTROL switches: used to reset the system, and choose whether 4002 RAM memory/status is cleared on reset&lt;br /&gt;
** RESET is a momentary switch, and MODE is a momentary switch&lt;br /&gt;
&lt;br /&gt;
== Reset Control ==&lt;br /&gt;
&lt;br /&gt;
The RESET MODE toggle switch controls whether 4002 RAM chips are cleared (filled with zero) when the CPU (4004/4040) and program memory controller (4289) are reset.  When set to CPU, only the CPU and memory controller are reset; when set to SYSTEM, the CPU and memory controller are reset, and 4002 RAM memory/status is filled with zero.  This affects the front panel RESET and MODE CONTROL switches, and also the user reset line from universal cards.&lt;br /&gt;
&lt;br /&gt;
When pressed, the momentary RESET switch resets the CPU and program memory controller, and also clears 4002 RAM memory/status if the RESET MODE switch is set to SYSTEM.  This switch generates a pulse when pressed, holding it on will not hold the system in RESET state.  This switch will not generate a reset pulse if you&#039;re holding any of the MODE CONTROL switches on, or a universal card is asserting the user reset line.&lt;br /&gt;
&lt;br /&gt;
Note that the RESET switch, the MODE CONTROL switches and the user reset line from universal cards don&#039;t affect the contents of the console RAM card.  Programs/data stored in the console RAM card are preserved when the CPU is reset or 4002 RAM is cleared.&lt;br /&gt;
&lt;br /&gt;
== Program Storage Mode Selection ==&lt;br /&gt;
&lt;br /&gt;
The INTELLEC 4/40 has three 4KiB program storage spaces: onboard monitor PROM, 4KiB console RAM card, and PROM space.  The onboard monitor PROM uses 1KiB of its 4KiB space.  It&#039;s possible to install universal cards that place code in the other 3KiB, but it&#039;s practically useless because the monitor provides no way to read or jump to such code.  There&#039;s nothing in the PROM space by default, but the imm6-26 PROM Memory Module can place code/data here (imm6_26 slot option in MAME, allows loading a PROM image up to 4KiB in 256-byte increments).&lt;br /&gt;
&lt;br /&gt;
Pressing any of the three MODE CONTROL switches, MON, RAM or PROM, selects the respective program storage space and resets the CPU (4004/4040) and program memory controller (4289).  If the RESET CONTROL MODE switch is set to SYSTEM, the 4002 RAM chips will also be cleared (filled with zero).  Execution will start from address zero in the selected storage space.  The front panel search/capture state is also reset, and universal cards may respond to the CPU reset signal.&lt;br /&gt;
&lt;br /&gt;
The MODE CONTROL switches are all momentary, and are mapped to keypad 1 (MON), keypad 2 (RAM) and keypad 3 (PROM) by default.  Pressing two MODE CONTROL switches at once will result in no program storage being mapped (the CPU will execute from unmapped reads).  The switches generate a reset pulse when pressed, holding them won&#039;t hold the system in reset state.  The MODE CONTROL switches won&#039;t reset the system if you&#039;re holding the RESET switch on or a universal card is asserting the user reset line.&lt;br /&gt;
&lt;br /&gt;
== Front Panel Debugging ==&lt;br /&gt;
&lt;br /&gt;
=== TEST Input Control (MOD 4 only) ===&lt;br /&gt;
&lt;br /&gt;
Turning the HOLD switch on (up) pulls the CPU&#039;s TEST input low (asserted).  Pressing the ONE SHOT line pulls the CPU&#039;s TEST input low for 35.7 microseconds.  The ONE SHOT switch has no observable effect if the HOLD switch is on.&lt;br /&gt;
&lt;br /&gt;
The HOLD switch is a toggle, mapped to keyboard left by default.  The ONE SHOT switch is momentary, mapped to keyboard right by default.  Note that universal cards can also pull the TEST input low.  There is no way to force the TEST input high from the front panel if a card is pulling it low.&lt;br /&gt;
&lt;br /&gt;
=== Stop/Single Step/Halt (MOD 40 only) ===&lt;br /&gt;
&lt;br /&gt;
Turning the STOP switch on (up) stops the CPU, and turning it off (down) allows the CPU to run.  While the STOP switch is on, pressing the SINGLE STEP switch allows the CPU to run for a single instruction and then stops it again, allowing you to step the program one instruction at a time.  By default, the STOP switch is mapped to the keyboard left arrow, and the SINGLE STEP switch is mapped to the keyboard right arrow.  The STOP switch toggles, and the SINGLE STEP switch is momentary.&lt;br /&gt;
&lt;br /&gt;
If the running program stops the CPU with a HLT instruction, you can resume it from the front panel by turning the STOP switch on and then off again.  Universal cards can also stop the CPU, there is no way to override this from the front panel.  The RUN LED will be turned off for stop/halt conditions caused by the STOP switch, universal cards requesting stop, or the HLT instruction.&lt;br /&gt;
&lt;br /&gt;
If the front panel display is not frozen and CMA mode is not selected (SEARCH COMPLETE LED off and CMA switch set to DISABLE), the ADDRESS LEDs will show the address of the next instruction to be executed, and the INSTRUCTION LEDs will show the opcode (M1 = OPR, M2 = OPA).  Note that this is the next instruction that will be executed after the the CPU resumes, not the last instruction executed before the CPU stopped.&lt;br /&gt;
&lt;br /&gt;
=== Search Mode ===&lt;br /&gt;
&lt;br /&gt;
Search mode allows you to capture certain information when the CPU executes a selected address.  This can be used to show a value read from or written to memory or I/O, show whether a conditional branch is taken, or simply to determine whether a certain address is being executed or not.&lt;br /&gt;
&lt;br /&gt;
To use search mode:&lt;br /&gt;
* Ensure the RUN toggle switch is off (down) and the CMA toggle switch is set to DISABLE.&lt;br /&gt;
* Enter the capture address in binary using the twelve ADDRESS/DATA toggle switches, most significant bit on the left (up = 1, down = 0).&lt;br /&gt;
* Enter the number of times to pass over the address before capturing and freezing the display in binary using the PASSES switches, most significant bit on the left (up = 1, down = 0).  For example, if you enter 6 using the passes switches (3 off, 2 on, 1 on, 0 off), the front panel indicators will be frozen when the 7th time the selected address is executed.&lt;br /&gt;
* Turn the NEXT INST toggle switch off (down) to capture the instruction cycle when the selected address is executed, or on (up) to capture the instruction cycle immediately after the selected address is executed.&lt;br /&gt;
* Press the momentary LOAD switch (mapped to keypad enter by default) to load the selected address and start the search.&lt;br /&gt;
* While the search is in progress:&lt;br /&gt;
** SEARCH COMPLETE LED will be off&lt;br /&gt;
** ADDRESS, INSTRUCTION, ACTIVE BANK and EXECUTION LEDs will update on each instruction cycle&lt;br /&gt;
** LAST RAM/ROM POINTER LEDs will update each time a SRC instruction is executed&lt;br /&gt;
** POINTER VALID will initially be off, and will be lit the first time a SRC instruction is executed after the search is started&lt;br /&gt;
* When the search completes:&lt;br /&gt;
** SEARCH COMPLETE LED will be on&lt;br /&gt;
** ADDRESS LEDs will show the ROM address accessed when state was captured&lt;br /&gt;
** INSTRUCTION, ACTIVE BANK, EXECUTION, LAST RAM/ROM POINTER and POINTER VALID will show the state when this address was executed&lt;br /&gt;
&lt;br /&gt;
Search mode is disabled when the RUN switch is on or the CMA switch is set to ENABLE.  The search will be restarted any time you change the selected address using the DECR, INCR or LOAD switches, or any time the CPU is reset using the MODE CONTROL or RESET switches, or when a universal card asserts the user reset line.&lt;br /&gt;
&lt;br /&gt;
==== Example: showing value read/written ====&lt;br /&gt;
&lt;br /&gt;
Search mode can show the value read from/written to RAM or I/O by an I/O group instruction (OPR = 0xE, or RPM instruction).&lt;br /&gt;
&lt;br /&gt;
* Enter the address of an I/O instruction using the ADDRESS/DATA switches.&lt;br /&gt;
** For example in the monitor PROM, the RDR instruction that reads the high nybble when examining console RAM is at address 0x183&lt;br /&gt;
* Enter the number of times to pass over the instruction using the PASSES switches, or turn them all off to capture the first time the instruction is executed.&lt;br /&gt;
* Turn the NEXT INSTRUCTION switch off.&lt;br /&gt;
* Press the LOAD switch to load the address and start the search.&lt;br /&gt;
* Do whatever it is that causes the CPU to execute the selected instruction the required number of times.&lt;br /&gt;
** For example the monitor program will read program memory when you use the D and S commands&lt;br /&gt;
* The search will complete, showing the following information:&lt;br /&gt;
** SEARCH COMPLETE LED on&lt;br /&gt;
** ADDRESS LEDs showing the selected address&lt;br /&gt;
** INSTRUCTION LEDs showing the OPR/OPA codes for the I/O instruction&lt;br /&gt;
** EXECUTION X2 LEDs showing the 4-bit value read/written&lt;br /&gt;
&lt;br /&gt;
==== Example: showing location/value of indirect fetch ====&lt;br /&gt;
&lt;br /&gt;
Search mode can show the ROM location accessed by a FIN (fetch indirect) instruction, and the value read.&lt;br /&gt;
&lt;br /&gt;
* Enter the address of a FIN instruction using the ADDRESS/DATA switches.&lt;br /&gt;
* Enter the number of times to pass over the instruction using the PASSES switches, or turn them all off to capture the first time the instruction is executed.&lt;br /&gt;
* Turn the NEXT INSTRUCTION switch on.&lt;br /&gt;
* Press the LOAD switch to load the address and start the search.&lt;br /&gt;
* Do whatever it is that causes the CPU to execute the selected instruction the required number of times.&lt;br /&gt;
* The search will complete, showing the following information:&lt;br /&gt;
** SEARCH COMPLETE LED on&lt;br /&gt;
** ADDRESS LEDs showing the ROM address the FIN instruction loaded data from (contents of R0R1 register pair when FIN was executed)&lt;br /&gt;
** INSTRUCTION LEDs showing the byte value loaded by the FIN instruction&lt;br /&gt;
&lt;br /&gt;
==== Example: showing whether a conditional branch is taken ====&lt;br /&gt;
&lt;br /&gt;
Search mode can show whether a conditional branch is taken or falls through by showing the address/opcode of the instruction executed immediately after the condition branch (JCN or ISZ) instruction.&lt;br /&gt;
&lt;br /&gt;
* Enter the address of the second byte of a conditional branch (JCN or ISZ) instruction using the ADDRESS/DATA switches.&lt;br /&gt;
** For example in the monitor PROM&#039;s routine for printing a nybble as a hexadecimal digit, there is a JCN that is taken if the value is less than 0xA at location 0x0CF; to capture the result of this branch, enter the address 0x0D0 (address of the second byte of the instruction)&lt;br /&gt;
* Enter the number of times to pass over the instruction using the PASSES switches, or turn them all off to capture the first time the instruction is executed.&lt;br /&gt;
* Turn the NEXT INSTRUCTION switch on.&lt;br /&gt;
* Press the LOAD switch to load the address and start the search.&lt;br /&gt;
* Do whatever it is that causes the CPU to execute the selected instruction the required number of times.&lt;br /&gt;
** For example the monitor program prints hexadecimal data when you use the D and S commands&lt;br /&gt;
* The search will complete, showing the following information:&lt;br /&gt;
** SEARCH COMPLETE LED on&lt;br /&gt;
** ADDRESS LEDs showing the location of the next instruction executed&lt;br /&gt;
*** With the monitor PROM example given, this will be 0x0D1 if the value is 0xA or greater (fell through), or 0x0D3 if the value is 0x9 or less (branched)&lt;br /&gt;
** INSTRUCTION LEDs showing the OPR/OPA codes of the next instruction executed&lt;br /&gt;
*** With the monitor PROM example given, this will be 6/2 if the value is 0xA or greater (fell through), or B/3 if the value is 0x9 or less (branched)&lt;br /&gt;
&lt;br /&gt;
=== Run Mode ===&lt;br /&gt;
&lt;br /&gt;
In run mode, the front panel LEDs update as the CPU executes instructions, and the system outputs pulses each time the selected address is accessed.  The SEARCH COMPLETE and POINTER VALID LEDs will remain unlit.  This is useful for triggering other devices like a logic analyser.  MAME doesn&#039;t currently expose this output.  However, run mode may still be useful if you just don&#039;t want the display to freeze.&lt;br /&gt;
&lt;br /&gt;
To use run mode, turn all the PASSES toggle switches off (down), turn the RUN toggle switch on (up), and set the CMA toggle switch to DISABLE.  Enter the desired address in binary using the ADDRESS/DATA switches (down = 0, up = 1, most significant bit on the left) and select it by pressing the LOAD switch.  You can also decrement or increment the selected address by one by pressing the DECR or INCREMENT switches respectively.  The selected address is not displayed in RUN mode.  If you want to see the selected address, you can temporarily set the CMA switch to ENABLE to display the selected address on the ADDRESS LEDs.&lt;br /&gt;
&lt;br /&gt;
== Console Memory Access (CMA) Mode ==&lt;br /&gt;
&lt;br /&gt;
Console Memory Access (CMA) mode allows you to examine/edit the 4KiB of program storage on the console RAM card using the front panel switches.  To use CMA mode, flip the CMA switch to ENABLE (this is a toggle switch).  In CMA mode, the ADDRESS LEDs always show the currently selected address, and the INSTRUCTION LEDs show the current data at the selected address in RAM.&lt;br /&gt;
&lt;br /&gt;
To set the selected address, enter it in binary on the twelve ADDRESS/DATA switches (most significant bit on the left, up = 1, down = 0), and press the LOAD switch (mapped to keypad enter by default).  You can also decrement or increment the selected address by one with the DECR and INCR switches (mapped to keypad minus and keypad plus by default, respectively).  The ADDRESS/DATA switches are all toggles, while the DECR, INCR and LOAD switches are momentary.&lt;br /&gt;
&lt;br /&gt;
To change a value in RAM, first ensure CMA mode is enabled and the desired address has been selected.  Enter the desired value on ADDRESS/DATA switches 7-0 (the eight rightmost ADDRESS/DATA switches, up = 1, down = 0), and press the CMA WRITE switch (momentary, mapped to keypad slash by default).  The INSTRUCTION LEDs will update to reflect the new value.&lt;br /&gt;
&lt;br /&gt;
== The Monitor PROM ==&lt;br /&gt;
&lt;br /&gt;
The INTELLEC 4/40 has a simple monitor program in onboard PROM.  The monitor program is designed to to be used with a full duplex, 10 CPS, 110 Baud, ASCII teleprinter with a 20mA current loop interface, like a correctly configured Teletype Corporation Model 33 KSR or ASR.  An output is provided for enabling the teleprinter&#039;s paper tape reader if present (e.g. on a Model 33 ASR).  MAME exposes the teleprinter interface as a virtual RS-232 port (tty slot).  The TxD and RxD lines are connected as you&#039;d expect, and the output to enable the paper tape reader is connected to the RTS line; no other control lines are connected.  RTS will only be asserted when the monitor wants to load data from paper tape, not when it&#039;s ready to accept command input.  By default, an emulated video terminal is connected to the virtual RS-232 port, but you can connect it to other emulated peripherals, like the null_modem device that can be pass data through to a network socket on the host system.&lt;br /&gt;
&lt;br /&gt;
To use the monitor, ensure local echo and auto LF on CR are off, transmit and receive rates are set to 110 Baud, and framing is set to 1 start bit, 8 data bits, no parity, and 2 stop bits (you can change serial settings for emulated serial peripherals in the Machine Configuration menu).  The monitor handles serial communication in software (no hardware UART), so you can get errors if you type too fast for it to handle the characters.  Flow control is only used when loading data from paper tape, not when accepting commands.&lt;br /&gt;
&lt;br /&gt;
The monitor only accepts English uppercase letters A-Z, digits 0-9, comma and carriage return (CR, ASCII 0x0D, the return or enter key). Backspace is not supported and there are no line editing or command history features (line editing would be impractical on a teleprinter).  The prompt is a single full stop/period (&#039;.&#039;, ASCII 0x2E) on a line.  On receiving an unexpected or invalid character, the monitor will print an asterisk (&#039;*&#039;, ASCII 0x2A), followed by a CRLF newline sequence (ASCII 0x2A, 0x0D, 0x0A) and the prompt, ready to accept a new command.  This will happen as soon as the unexpected/invalid character is received and echoed, it won&#039;t wait for you to type a carriage return.  If you make a mistake while typing a monitor command, just type a character that the monitor doesn&#039;t accept (backspace, escape, or any lowercase letter will do) without hitting return, and you&#039;ll be sent back to the prompt.&lt;br /&gt;
&lt;br /&gt;
=== Command B: Dump BPNF ===&lt;br /&gt;
&lt;br /&gt;
The B command prints 64 NUL characters (ASCII 0x00), dumps data from the console RAM card in BPNF format (maximum four bytes per line), and then prints another 64 NUL characters.  It takes the start address and end address of the bytes to dump in hexadecimal format as comma-separated arguments (one to three digits each).  BPNF is an early binary format designed to be relatively resilient.  Each byte starts with a B, followed by eight data bits represented as P or N (MSB to LSB) and ends with an F.  Bytes are separated by spaces or newline characters.  Intel accepted data for making ROM masks (e.g. for 4001 or 4308 ROM chips) on paper tape in BPNF format.&lt;br /&gt;
&lt;br /&gt;
Assuming the teleprinter is equipped with a paper tape punch, the NUL characters feed paper tape through the punch without punching any data, clearly delimiting the memory dump and giving convenient places to cut or tear the paper tape without risk of data loss.  Note that MAME&#039;s video terminal ignores the NUL characters, so you won&#039;t see any output when the NUL characters are printed, you&#039;ll just notice it taking time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.B0,17&lt;br /&gt;
BNNNNPPPPF BNPNNPPPPF BNNNNPPPPF BNPNNPPPNF&lt;br /&gt;
BNNNNPPPPF BNPNNPPNPF BNNNNPPPPF BNPNNPPNNF&lt;br /&gt;
BNNNNPPPPF BNPNNPNPPF BNPNPPNPPF BNNNNNNPNF&lt;br /&gt;
BPPNPPPNNF BPNNNPPPNF BPPPPNNPNF BPNNNPPPPF&lt;br /&gt;
BPPPPNNPNF BPNNNPPNNF BPPPPNNPPF BPNNNPPNPF&lt;br /&gt;
BPPPPNNPPF BPNNPPNPPF BPNPPPPPPF BPPPPNPNPF&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command D: Dump Human-Readable Hex ===&lt;br /&gt;
&lt;br /&gt;
The D command dumps data from the console RAM card in hexadecimal format.  It takes the start and end address to dump in hexadecimal format as comma-separated arguments (one to three digits each).  If the second argument is lower than the first argument, a single byte is dumped.  If either argument is empty, it is treated as zero (the comma is always required).  New lines are started on 16-byte boundaries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.DA,17&lt;br /&gt;
00A A4 FD 23 71 0D 70&lt;br /&gt;
010 0D 73 0C 72 0C 64 40 0A&lt;br /&gt;
.D,9&lt;br /&gt;
000 F0 B0 F0 B1 F0 B2 F0 B3 F0 B4&lt;br /&gt;
.DB,&lt;br /&gt;
00B FD&lt;br /&gt;
.D,&lt;br /&gt;
000 F0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command E: Print Empty Intel HEX Record ===&lt;br /&gt;
&lt;br /&gt;
The E command prints an empty [https://en.wikipedia.org/wiki/Intel_HEX Intel HEX] record consisting of a colon and two zeroes (&amp;quot;:00&amp;quot;) followed by a CRLF newline sequence and 64 NUL characters (ASCII 0x00).  Accepts a single hexadecimal argument, but it isn&#039;t used for anything.&lt;br /&gt;
&lt;br /&gt;
This is not a valid Intel HEX record, as it&#039;s missing the required address, record type and checksum (a valid end-of-file record with no data would be &amp;quot;:00000001FF&amp;quot; using record type 01).  However, given the INTELLEC 4 monitor&#039;s simplified understanding of Intel HEX, it&#039;s sufficient to make it stop reading.  See the section on the R command below.&lt;br /&gt;
&lt;br /&gt;
Assuming the teleprinter is equipped with a paper tape punch, the NUL characters feed paper tape through the punch without punching any data, clearly delimiting the preceding Intel HEX records and giving a convenient place to cut or tear the paper tape without risk of data loss.  Note that MAME&#039;s video terminal ignores the NUL characters, so you won&#039;t see any output when the NUL characters are printed, you&#039;ll just notice it taking time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.E&lt;br /&gt;
:00&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command I: Invert ===&lt;br /&gt;
&lt;br /&gt;
The I command inverts (ones-complements) data in console RAM.  It takes the start and end address of the range to invert in hexadecimal format as comma-separated arguments (one to three digits each).  If the second argument is lower than the first argument, a single byte is inverted.  If either argument is empty, it is treated as zero (the comma is always required).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,9&lt;br /&gt;
000 0F 4F 0F 4E 0F 4D 0F 4C 0F 4B&lt;br /&gt;
.I1,8&lt;br /&gt;
&lt;br /&gt;
.D0,9&lt;br /&gt;
000 0F B0 F0 B1 F0 B2 F0 B3 F0 4B&lt;br /&gt;
.I9,&lt;br /&gt;
&lt;br /&gt;
.D0,9&lt;br /&gt;
000 0F B0 F0 B1 F0 B2 F0 B3 F0 B4&lt;br /&gt;
.I,&lt;br /&gt;
&lt;br /&gt;
.D0,9&lt;br /&gt;
000 F0 B0 F0 B1 F0 B2 F0 B3 F0 B4&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command J: Select High-Speed Paper Tape Reader ===&lt;br /&gt;
&lt;br /&gt;
The J command selects an optional high-speed paper tape reader as the data source for subsequent L and R commands.  Accepts a single hexadecimal argument, but it isn&#039;t used for anything.  The high-speed paper tape reader is controlled with ROM ports 4 (in/out), 6 (in) and 7 (in).&lt;br /&gt;
&lt;br /&gt;
By default, a compatible 200 CPS imm4-90 High-Speed Paper Tape Reader card is installed in slot j7 (it&#039;s the imm4_90 option if you want to install it in a different slot).  You can load a paper tape file through the File Manager menu or using the -punchtape (or -ptap) option on the command line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.J&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command K: Select Teleprinter ===&lt;br /&gt;
&lt;br /&gt;
The K command selects the teleprinter or its paper tape reader as the data source for subsequent L and R commands.  Accepts a single hexadecimal argument, but it isn&#039;t used for anything.  This is the default after reset.  When loading from the teleprinter with the L or R command, the RTS line is asserted when the monitor is ready to accept data.  This can be used to enable the teleprinter&#039;s paper tape reader motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.K&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command L: Load BPNF ===&lt;br /&gt;
&lt;br /&gt;
The L command loads BPNF format data into console RAM card memory from the selected input device – either the teleprinter or its paper tape reader (default or selected with the K command), or an optional high-speed paper tape reader (selected with the J command).  It accepts the start and end addresses of the range to load as comma-separated arguments (one to three hexadecimal digits each).  If the second argument is less than the first, a single byte is loaded.  If either argument is empty, it is treated as zero (the comma is always required).  When loading from the teleprinter, the RTS line is asserted when the monitor is ready to accept data.  This may be used to enable the teleprinter&#039;s paper tape reader motor.&lt;br /&gt;
&lt;br /&gt;
Any characters before the leading B of the first byte, or between the terminating F of one byte and the leading B of the next byte, are ignored.  This allows comments to be included, provided they don&#039;t contain capital B (ASCII 0x42).  If an unexpected character is encountered within a byte, the monitor will stop accepting data input (either de-assert RTS or stop reading the high-speed paper tape), print an asterisk (&#039;*&#039;, ASCII 0x2A) followed by a CRLF line ending, and wait for the next command.  The terminating F is not actually checked, so you can substitute any character you like and loading will still succeed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,1F&lt;br /&gt;
000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
.L10,17&lt;br /&gt;
BNNPPNPNPF BNNNNNNNPF BNPNNNPNPF BNPNNNNNPF&lt;br /&gt;
BNNPNNNNPF BNPNPNNPNF BNPNNNNNPF BNNNPNNNNF&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
010 CA FE BA BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
.L,1&lt;br /&gt;
BNNNNNNNPF guess BNNNPNNPNF&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 FE ED 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
010 CA FE BA BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
.L8,&lt;br /&gt;
BPNNPNPPNF&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 FE ED 00 00 00 00 00 00 69 00 00 00 00 00 00 00&lt;br /&gt;
010 CA FE BA BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
.L12,&lt;br /&gt;
BPPPPPPPPX&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 FE ED 00 00 00 00 00 00 69 00 00 00 00 00 00 00&lt;br /&gt;
010 CA FE 00 BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
.L1,&lt;br /&gt;
BNNNNNR*&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 FE ED 00 00 00 00 00 00 69 00 00 00 00 00 00 00&lt;br /&gt;
010 CA FE 00 BE DE AD BE EF 00 00 00 00 00 00 00 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command M: Copy Memory ===&lt;br /&gt;
&lt;br /&gt;
The M command copies data from one location to another in console RAM.  It takes the start and end address of the source range and the destination as comma-separated arguments (one to three hexadecimal digits each).  The data is always copied from beginning to end, so overlapping sources and destinations can be used to fill RAM with a pattern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,F&lt;br /&gt;
000 F0 B0 F0 B1 F0 B2 F0 B3 F0 B4 A4 FD 23 71 0D 70&lt;br /&gt;
.D100,10F&lt;br /&gt;
100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
.M2,9,104&lt;br /&gt;
&lt;br /&gt;
.D100,10F&lt;br /&gt;
100 00 00 00 00 F0 B1 F0 B2 F0 B3 F0 B4 00 00 00 00&lt;br /&gt;
.S110&lt;br /&gt;
00-FA&lt;br /&gt;
.D110,117&lt;br /&gt;
110 FA 00 00 00 00 00 00 00&lt;br /&gt;
.M110,116,111&lt;br /&gt;
110 FA FA FA FA FA FA FA FA&lt;br /&gt;
.S110&lt;br /&gt;
FA-BA&lt;br /&gt;
.S111&lt;br /&gt;
FA-BE&lt;br /&gt;
.D110,11F&lt;br /&gt;
110 BA BE FA FA FA FA FA FA 00 00 00 00 00 00 00 00&lt;br /&gt;
.M,110,11E,112&lt;br /&gt;
&lt;br /&gt;
.D110,11F&lt;br /&gt;
110 BA BE BA BE BA BE BA BE BA BE BA BE BA BE BA BE&lt;br /&gt;
.S110&lt;br /&gt;
BA-CA&lt;br /&gt;
.S111&lt;br /&gt;
BE-FE&lt;br /&gt;
.M110,11C,114&lt;br /&gt;
&lt;br /&gt;
.D110,11F&lt;br /&gt;
110 CA FE BA BE CA FE BA BE CA FE BA BE CA FE BA BE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command N: Print 64 NUL Characters ===&lt;br /&gt;
&lt;br /&gt;
The N command prints 64 NUL characters (ASCII 0x00).  It will accept a single hexadecimal argument, but doesn&#039;t use it for anything.  This command can be used to feed paper tape through the punch without punching anything for 64 rows, clearly delimiting memory dumps and giving a convenient area to cut/tear the tape without damaging data.  Note that MAME&#039;s video terminal ignores the NUL characters, so you won&#039;t see any output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.N&lt;br /&gt;
&lt;br /&gt;
.N123&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command P: Program PROM ===&lt;br /&gt;
&lt;br /&gt;
The P command writes data from console RAM card memory to a 1602A or 1702A 256×8 PROM using the built-in programmer.  It takes the start and end address of the source data in console RAM and the destination address in PROM as comma-separated arguments (one to three hexadecimal digits each).  The monitor will always stop writing at the end of the PROM (location 0xFF), it will not wrap around to the start of the PROM.  After writing a byte, the monitor program will read it back and retry the write if it doesn&#039;t match.  If the byte doesn&#039;t match after three attempts, the monitor will print a space (&#039; &#039;, ASCII 0x20) followed by the PROM address (two hexadecimal digits) and an asterisk (&#039;*&#039;, ASCII 0x2A).&lt;br /&gt;
&lt;br /&gt;
For programming to work, a PROM image file must be loaded (either with the -prom option on the command line or through the File Manager Menu), the front panel PRGM PROM PWR toggle switch must be set to ON (up), and the rear panel PROM PROGRAMMER DATA OUT ENABLE switch must be on (set in the Machine Configuration menu).  If the PRGM PROM PWR switch is off, the PROM contents will not be altered; if the PROM PROGRAMMER DATA OUT ENABLE switch is off, one byte will be written but verification fail.  Note that the 1702A is not electrically erasable, so bits can only be set (erasing requires UV exposure).  The 1602A is technically UV-erasable, but has an opaque metal lid making it effectively write-only.&lt;br /&gt;
&lt;br /&gt;
In 4004 and 4040 systems, 1702A PROMs are written with negative logic.  MAME handles this inversion internally so that PROM image files can be disassembled with conventional tools.  The bytes in PROM image files are the inverse (ones-complement) of the PROM output signals.  (The same is true of the 1702A PROM images in the intlc44 and intlc440 system ROM sets.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,7&lt;br /&gt;
000 CA FE BA BE DE AD BE EF&lt;br /&gt;
.P0,7,0&lt;br /&gt;
&lt;br /&gt;
.P0,7,FC&lt;br /&gt;
&lt;br /&gt;
.P0,7,80&lt;br /&gt;
&lt;br /&gt;
.P4,7,80&lt;br /&gt;
 81*&lt;br /&gt;
.T100&lt;br /&gt;
&lt;br /&gt;
.D100,1FF&lt;br /&gt;
100 CA FE BA BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
180 DE FF BA BE DE AD BE EF 00 00 00 00 00 00 00 00&lt;br /&gt;
190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
1F0 00 00 00 00 00 00 00 00 00 00 00 00 CA FE BA BE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command R: Read Intel HEX ===&lt;br /&gt;
&lt;br /&gt;
The R command reads [https://en.wikipedia.org/wiki/Intel_HEX Intel HEX] format data into console RAM card memory from the selected input device – either the teleprinter or its paper tape reader (default or selected with the K command), or an optional high-speed paper tape reader (selected with the J command).  It accepts a single hexadecimal argument but it isn&#039;t used for anything.  When loading from the teleprinter, the RTS line is asserted when the monitor is ready to accept data.  This may be used to enable the teleprinter&#039;s paper tape reader motor.&lt;br /&gt;
&lt;br /&gt;
The INTELLEC 4 monitor has a somewhat simplified interpretation of Intel HEX.  The record type is ignored (all records treated as data), and loading stops on encountering a 00 byte count.  On encountering an invalid checksum, the monitor will stop accepting data input (either de-assert RTS or stop reading the high-speed paper tape), print an asterisk (&#039;*&#039;, ASCII 0x2A) followed by a CRLF line ending and wait for another command.&lt;br /&gt;
&lt;br /&gt;
Any characters between a checksum byte and the next colon marking the start of a record are completely ignored and may be used for comments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,1F&lt;br /&gt;
000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
.K&lt;br /&gt;
&lt;br /&gt;
.R&lt;br /&gt;
Intentional checksum failure&lt;br /&gt;
:080010000D730C720C64409A30*&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
010 0D 73 0C 72 0C 64 40 9A 00 00 00 00 00 00 00 00&lt;br /&gt;
.R&lt;br /&gt;
For fun, load higher address first&lt;br /&gt;
:080010000D730C720C64400A30&lt;br /&gt;
Now fill in the first row&lt;br /&gt;
:10000000F0B0F0B1F0B2F0B3F0B4A4FD23710D7014&lt;br /&gt;
:00&lt;br /&gt;
.D0,1F&lt;br /&gt;
000 F0 B0 F0 B1 F0 B2 F0 B3 F0 B4 A4 FD 23 71 0D 70&lt;br /&gt;
010 0D 73 0C 72 0C 64 40 0A 00 00 00 00 00 00 00 00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command S: Show/Edit Byte ===&lt;br /&gt;
&lt;br /&gt;
The S command shows a byte in console RAM card memory, and allows you to change its value.  It takes the address of the byte as an argument in hexadecimal format (one to three digits).  If the argument is empty, it is treated as zero.  The current value of the byte is printed followed by a hyphen.  To leave it as-is, type a CR (return/enter); to change it, type the desired value as two uppercase hexadecimal digits followed by a CR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.S00A&lt;br /&gt;
C4-A4&lt;br /&gt;
.SA&lt;br /&gt;
C4-&lt;br /&gt;
.S0&lt;br /&gt;
F0-&lt;br /&gt;
.S&lt;br /&gt;
F0-&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command T: Load PROM ===&lt;br /&gt;
&lt;br /&gt;
The T command loads the entire content of the 256×8 PROM (1602/1702/1602A/1702A) in the front-panel ZIF socket into console RAM card memory at a specified address.  It takes the destination address in hexadecimal format as an argument (one to three digits).  If the argument is empty it will load at address zero.  The rear panel PROM PROGRAMMER DATA OUT ENABLE switch (set in the Machine Configuration menu) must be on for PROM contents to be loaded; zeroes will be loaded if this switch is off.  Zeroes will also be loaded if no PROM image file is loaded.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,FF&lt;br /&gt;
000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
080 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
090 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
0F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
.D100,11F&lt;br /&gt;
100 F0 B0 F0 B1 21 D0 FD 11 07 D1 FD 19 0B 71 04 60&lt;br /&gt;
110 40 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
.P100,11F,0&lt;br /&gt;
&lt;br /&gt;
.P100,11F,F0&lt;br /&gt;
&lt;br /&gt;
.T80&lt;br /&gt;
&lt;br /&gt;
.D0,FF&lt;br /&gt;
000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF&lt;br /&gt;
080 F0 B0 F0 B1 21 D0 FD 11 07 D1 FD 19 0B 71 04 60&lt;br /&gt;
090 40 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
.T&lt;br /&gt;
&lt;br /&gt;
.D0,FF&lt;br /&gt;
000 F0 B0 F0 B1 21 D0 FD 11 07 D1 FD 19 0B 71 04 60&lt;br /&gt;
010 40 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
0F0 F0 B0 F0 B1 21 D0 FD 11 07 D1 FD 19 0B 71 04 60&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Command W: Write Intel HEX ===&lt;br /&gt;
&lt;br /&gt;
The W command writes data from the console RAM card in [https://en.wikipedia.org/wiki/Intel_HEX Intel HEX] format.  It takes the start and end address to dump in hexadecimal format as comma-separated arguments (one to three digits each).  A CRLF newline is printed, followed by the data (maximum sixteen bytes per line).  Each line of data contains a start code, byte count, address, record type, data, and checksum.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.W0,17&lt;br /&gt;
&lt;br /&gt;
:10000000F0B0F0B1F0B2F0B3F0B4A4FD23710D7014&lt;br /&gt;
:080010000D730C720C64400A30&lt;br /&gt;
.WA,17&lt;br /&gt;
:0E000A00A4FD23710D700D730C720C64400A7E&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entering and Running a Program ==&lt;br /&gt;
&lt;br /&gt;
In this example, we&#039;ll enter a 19-instruction (24-byte) program into the console RAM card using the front panel switches, and run it.  The program will count (in binary) on the LAST RAM/ROM POINTER LEDS and animate the ACTIVE BANK LEDs.&lt;br /&gt;
&lt;br /&gt;
=== The Program ===&lt;br /&gt;
&lt;br /&gt;
This is the program we want to enter (columns are address, assembled code, instruction, operands, and comment):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;000     F0      clb             # clear R0/R1/R2/R3/R4&lt;br /&gt;
001     B0      xch r0&lt;br /&gt;
002     F0      clb&lt;br /&gt;
003     B1      xch r1&lt;br /&gt;
004     F0      clb&lt;br /&gt;
005     B2      xch r2&lt;br /&gt;
006     F0      clb&lt;br /&gt;
007     B3      xch r3&lt;br /&gt;
008     F0      clb&lt;br /&gt;
009     B4      xch r4&lt;br /&gt;
00A     A4      ld  r4          # set RAM bank to low three bits of R4&lt;br /&gt;
00B     FD      dcl&lt;br /&gt;
00C     23      src r2r3        # set pointer to value of R2R3&lt;br /&gt;
00D     71 0D   isz r1,000Dh    # count to 256 in R0R1 to waste time&lt;br /&gt;
00F     70 0D   isz r0,000Dh&lt;br /&gt;
011     73 0C   isz r3,000Ch    # increment address in R2R3 and...&lt;br /&gt;
013     72 0C   isz r2,000Ch    # ...jump back to SRC if no overflow&lt;br /&gt;
015     64      inc r4          # increment RAM bank in R3&lt;br /&gt;
016     40 0A   jun 000Ah       # jump back to setting RAM bank &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Entering the Program ===&lt;br /&gt;
&lt;br /&gt;
We&#039;ll enter the program using the front panel switches.  Note that this is a pretty inefficient way of entering code (in practice you&#039;d load assembler output from paper tape – see the J, K, L and R monitor commands).  These instructions describe how to enter the code linearly, from first to last byte.  You can do it with fewer switch toggles by relying on the similarity between some bytes (e.g. the ISZ instructions) and going back/forward by more than one byte at a time.  You can also enter the code in the monitor using the S command, but that isn&#039;t very efficient, either.&lt;br /&gt;
&lt;br /&gt;
* Ensure the monitor PROM is selected (MON LED on).  If it isn&#039;t, press the MON switch to select it.&lt;br /&gt;
* Set the CMA switch to ENABLE, turn all ADDRESS/DATA switched off (down), and press the LOAD switch to select address 0x000.  Check that the ADDRESS LEDs are all off, indicating that the address has been selected correctly.&lt;br /&gt;
* Enter 0xF0 (0b11110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x000.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x001.  Check that the ADDRESS LEDs show 0x001 (0b000000000001).&lt;br /&gt;
* Enter 0xB0 (0b10110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x001.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x002.  Check that the ADDRESS LEDs show 0x002 (0b000000000010).&lt;br /&gt;
* Enter 0xF0 (0b11110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x002.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x003.  Check that the ADDRESS LEDs show 0x003 (0b000000000011).&lt;br /&gt;
* Enter 0xB1 (0b10110001) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x003.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x004.  Check that the ADDRESS LEDs show 0x004 (0b000000000100).&lt;br /&gt;
* Enter 0xF0 (0b11110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x004.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x005.  Check that the ADDRESS LEDs show 0x005 (0b000000000101).&lt;br /&gt;
* Enter 0xB2 (0b10110010) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x005.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x006.  Check that the ADDRESS LEDs show 0x006 (0b000000000110).&lt;br /&gt;
* Enter 0xF0 (0b11110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x006.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x007.  Check that the ADDRESS LEDs show 0x007 (0b000000000111).&lt;br /&gt;
* Enter 0xB3 (0b10110011) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x007.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x008.  Check that the ADDRESS LEDs show 0x008 (0b000000001000).&lt;br /&gt;
* Enter 0xF0 (0b11110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x008.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x009.  Check that the ADDRESS LEDs show 0x009 (0b000000001001).&lt;br /&gt;
* Enter 0xB4 (0b10110100) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x009.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00a.  Check that the ADDRESS LEDs show 0x00A (0b000000001010).&lt;br /&gt;
* Enter 0xA4 (0b10100100) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00A.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00b.  Check that the ADDRESS LEDs show 0x00B (0b000000001011).&lt;br /&gt;
* Enter 0xFD (0b11111101) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00B.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00c.  Check that the ADDRESS LEDs show 0x00C (0b000000001100).&lt;br /&gt;
* Enter 0x23 (0b00100011) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00C.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00d.  Check that the ADDRESS LEDs show 0x00D (0b000000001101).&lt;br /&gt;
* Enter 0x71 (0b01110001) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00D.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00e.  Check that the ADDRESS LEDs show 0x00E (0b000000001110).&lt;br /&gt;
* Enter 0x0D (0b00001101) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00E.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x00f.  Check that the ADDRESS LEDs show 0x00F (0b000000001111).&lt;br /&gt;
* Enter 0x70 (0b01110000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x00F.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x010.  Check that the ADDRESS LEDs show 0x010 (0b000000010000).&lt;br /&gt;
* Enter 0x0D (0b00001101) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x010.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x011.  Check that the ADDRESS LEDs show 0x011 (0b000000010001).&lt;br /&gt;
* Enter 0x73 (0b01110011) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x011.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x012.  Check that the ADDRESS LEDs show 0x012 (0b000000010010).&lt;br /&gt;
* Enter 0x0C (0b00001100) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x012.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x013.  Check that the ADDRESS LEDs show 0x013 (0b000000010011).&lt;br /&gt;
* Enter 0x72 (0b01110010) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x013.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x014.  Check that the ADDRESS LEDs show 0x014 (0b000000010100).&lt;br /&gt;
* Enter 0x0C (0b00001100) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x014.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x015.  Check that the ADDRESS LEDs show 0x015 (0b000000010101).&lt;br /&gt;
* Enter 0x64 (0b01100100) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x015.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x016.  Check that the ADDRESS LEDs show 0x016 (0b000000010110).&lt;br /&gt;
* Enter 0x40 (0b01000000) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x016.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
* Press the INCR switch to advance the selected address to 0x017.  Check that the ADDRESS LEDs show 0x017 (0b000000010111).&lt;br /&gt;
* Enter 0x0A (0b00001010) on ADDRESS/DATA switches 7-0 and press the CMA WRITE switch to write it to location 0x017.  Check that the INSTRUCTION LEDs show the new value correctly.&lt;br /&gt;
&lt;br /&gt;
=== Checking the Program ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s easy to make a mistake while entering a program on the front panel, so it&#039;s a good idea to check it.  You can use the D (hex dump) command in the monitor to check that you&#039;ve entered the program properly.&lt;br /&gt;
&lt;br /&gt;
* Ensure monitor PROM is selected (MON LED lit).  If it isn&#039;t, press the MON switch to select it.&lt;br /&gt;
* If you&#039;re using the MOD 40, ensure the CPU is not stopped (RUN LED lit).  If it isn&#039;t, turn off the STOP switch.&lt;br /&gt;
* Check that you can see the monitor&#039;s dot prompt on the terminal (&#039;.&#039; followed by the cursor).  If you don&#039;t see the prompt, enter a character the monitor doesn&#039;t expect to (e.g. any lowercase letter) to get back to the prompt.&lt;br /&gt;
* Enter the command &amp;quot;D0,17&amp;quot; (without the quotes, using an uppercase D) followed by return/enter.&lt;br /&gt;
* Check that the output matches the assembled code from the listing above.&lt;br /&gt;
* If there are any errors, correct them:&lt;br /&gt;
** Ensure CMA switch is still set to ENABLE&lt;br /&gt;
** Enter address of incorrect byte using ADDRESS/DATA switches and press LOAD switch to select it.  Check that ADDRESS LEDs show desired address and INSTRUCTION LEDs show incorrect value.&lt;br /&gt;
** Enter correct value using ADDRESS/DATA switches 7-0 and press CMA WRITE switch to write to memory.  Check that INSTRUCTION LEDs show correct value.&lt;br /&gt;
&lt;br /&gt;
The dump command and output should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,17&lt;br /&gt;
000 F0 B0 F0 B1 F0 B2 F0 B3 F0 B4 A4 FD 23 71 0D 70&lt;br /&gt;
010 0D 73 0C 72 0C 64 40 0A&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check that the program has been entered correctly using the MAME debugger, but that&#039;s cheating as you wouldn&#039;t have that in real life.  The console RAM card content appears in Address Map Bank &#039;:prgbank&#039; program space memory addresses 0x2000-0x2FFF.  You can view it in a memory window.&lt;br /&gt;
&lt;br /&gt;
=== Running the Program ===&lt;br /&gt;
&lt;br /&gt;
* If you&#039;re using the MOD 40, ensure the STOP switch is off (down).&lt;br /&gt;
* Set the CMA switch to DISABLE, turn the RUN switch on (up), and turn all the PASSES switches off (down)&lt;br /&gt;
* Press the RAM switch to switch program storage to console RAM and run from address 0x000.&lt;br /&gt;
* Watch the LEDs count/animate.  You can also use search mode to capture state.&lt;br /&gt;
** If you&#039;re using the MOD 40, you can stop and single step the program, but this can be a bit tedious as most of the time is spent in the time-wasting loop repeating ISZ instructions.&lt;br /&gt;
* If it doesn&#039;t work, switch back to the monitor (press the MON switch), check the program again, and correct any errors.&lt;br /&gt;
&lt;br /&gt;
If you have the MAME debugger enabled, you can also observe the disassembly and register contents as the program executes.&lt;br /&gt;
&lt;br /&gt;
== Reading the Test Input ==&lt;br /&gt;
&lt;br /&gt;
In this example, we&#039;ll enter an 14-instruction (18-byte) program that counts pulses on the TEST input, displaying the current (binary) count on the LAST RAM/ROM POINTER LEDs, and showing whether the line currently held low on the ACTIVE BANK LEDs.  This program works best with the MOD 4 system (intlc44) as you can control the test line with front panel switches.&lt;br /&gt;
&lt;br /&gt;
=== The Program ===&lt;br /&gt;
&lt;br /&gt;
This is the program we want to enter (columns are address, assembled code, instruction, operands, and comment):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;000     F0      club             # clear R0/R1&lt;br /&gt;
001     B0      xch r0&lt;br /&gt;
002     F0      clb&lt;br /&gt;
003     B1      xch r1&lt;br /&gt;
004     21      src r0r1         # set pointer to value of R0R1&lt;br /&gt;
005     D0      ldm 00h          # select RAM bank 0&lt;br /&gt;
006     FD      dcl&lt;br /&gt;
007     11 07   jcn t,0007h      # wait for test input to go low&lt;br /&gt;
009     D1      ldm 01h          # select RAM bank 1&lt;br /&gt;
00A     FD      dcl&lt;br /&gt;
00B     19 0B   jcn nt,000Bh     # wait for test input to go high again&lt;br /&gt;
00D     71 04   isz r1,0004h     # increment R1, loop if no overflow&lt;br /&gt;
00F     60      inc r0           # carry to R0&lt;br /&gt;
010     40 04   jun 0004h        # loop&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Entering and Checking the Program ===&lt;br /&gt;
&lt;br /&gt;
We&#039;ll enter this program using the monitor.  If the MON LED isn&#039;t lit, press the MON switch to run the monitor.  If you can&#039;t see the dot prompt, type a lowercase letter and it should appear.  If it still doesn&#039;t appear, check your serial settings, ensuring it&#039;s set to 110 Baud 1/8/N/2.  (As an exercise, you may want to prepare the program as a BPNF or Intel HEX file and load it as a paper tape using the J/K/L/R commands rather than entering it interactively one byte at a time.)&lt;br /&gt;
&lt;br /&gt;
Use the S command to enter the program.  For each byte in the program, enter S followed by the address of the byte, then press return/enter.  The monitor will show the current value at that address.  Type the desired byte value followed by carriage return.  Remember to use uppercase letters, the monitor doesn&#039;t recognise lowercase.  If you make a mistake, you can type a lowercase letter or backspace to cancel the current command and get back to the prompt.  Remember you need to enter two bytes for the two-byte instructions.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what entering the program looks like assuming console RAM was initially zeroed (this includes output from the monitor as well as what you would type):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.S0&lt;br /&gt;
00-F0&lt;br /&gt;
.S1&lt;br /&gt;
00-B0&lt;br /&gt;
.S2&lt;br /&gt;
00-F0&lt;br /&gt;
.S3&lt;br /&gt;
00-B1&lt;br /&gt;
.S4&lt;br /&gt;
00-21&lt;br /&gt;
.S5&lt;br /&gt;
00-D0&lt;br /&gt;
.S6&lt;br /&gt;
00-FD&lt;br /&gt;
.S7&lt;br /&gt;
00-11&lt;br /&gt;
.S8&lt;br /&gt;
00-07&lt;br /&gt;
.S9&lt;br /&gt;
00-D1&lt;br /&gt;
.SA&lt;br /&gt;
00-FD&lt;br /&gt;
.SB&lt;br /&gt;
00-19&lt;br /&gt;
.SC&lt;br /&gt;
00-0B&lt;br /&gt;
.SD&lt;br /&gt;
00-71&lt;br /&gt;
.SE&lt;br /&gt;
00-04&lt;br /&gt;
.SF&lt;br /&gt;
00-60&lt;br /&gt;
.S10&lt;br /&gt;
00-40&lt;br /&gt;
.S11&lt;br /&gt;
00-04&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve entered the program, use the D command to dump it in hexadecimal format, and check for errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;.D0,11&lt;br /&gt;
000 F0 B0 F0 B1 21 D0 FD 11 07 D1 FD 19 OB 71 04 60&lt;br /&gt;
010 40 04&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are errors, correct them with the S command, or using CMA mode.&lt;br /&gt;
&lt;br /&gt;
=== Running the Program ===&lt;br /&gt;
&lt;br /&gt;
Once you&#039;re happy that the program has been entered correctly, turn all the PASSES switches off (down), turn the RUN switch on (up), set the CMA switch to DISABLE, and press the RAM switch (if you have the MAME debugger enabled, you can see the program disassembled at this point from address 0x0000).&lt;br /&gt;
&lt;br /&gt;
The CM-RAM 0 LED will be lit when the HOLD switch is off (down), and the CM-RAM 1 LED will be lit when the HOLD switch is on (up).  The value displayed by the LAST RAM/ROM POINTER LEDs will increment each time the HOLD switch is turned off or the ONE SHOT switch is pressed while the HOLD switch is off.  The ONE SHOT switch won&#039;t cause the value to increment when the HOLD switch is ON.&lt;br /&gt;
&lt;br /&gt;
If it doesn&#039;t work, switch back to the monitor (press the MON switch), check the program again with the D command, correct any errors, and try again.&lt;br /&gt;
&lt;br /&gt;
[[Category:Year_1973]]&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8248</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8248"/>
		<updated>2022-12-30T18:36:26Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* XE-1AJ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;B&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold switch (switches between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire cannon, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039;, &#039;&#039;&#039;E2&#039;&#039;&#039;, &#039;&#039;&#039;Start&#039;&#039;&#039; or &#039;&#039;&#039;Select&#039;&#039;&#039; || Start game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up/down || Rotor collective pitch (vertical movement), navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick left/right || Rotor cyclic pitch (horizontal movement)&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire cannon, start game, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire missiles, start game, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Options menu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Taito Chase H.Q. (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8247</id>
		<title>Driver:FMTowns</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8247"/>
		<updated>2022-12-30T18:35:04Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Controller Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing TownsOS ==&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
* Towns System Software v2.1L51 operating system CD image (software list shortname: tss2151)&lt;br /&gt;
&lt;br /&gt;
Before you start, set up input assignments for the mouse.&lt;br /&gt;
&lt;br /&gt;
=== Create a hard disk image ===&lt;br /&gt;
* First, create a blank hard disk image using chdman.&lt;br /&gt;
 &#039;&#039;&#039;./chdman createhd -o &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039; -c none -chs 768,16,16&#039;&#039;&#039;&lt;br /&gt;
The CHS values are up to you, they only affect the size of the disk image, the example given will give about a 100MB image.  The geometry itself is irrelevant for the FM-Towns as hard disks are SCSI.  -c none is also important, as this disables compression, but allows direct writing to the image data (compressed CHDs are read-only).&lt;br /&gt;
If you&#039;ve used the fmtowns driver before, it might be easier if you move or delete all the files in the nvram/fmtowns folder.  This will clear all CMOS settings, which may interfere with some things.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS and run installation program ===&lt;br /&gt;
* Start MAME, with the Towns System Software CD and your newly created hard disk image mounted in -cdrom and -hard1 slots respectively.  Please note that only a couple of drivers (fmtownsux and fmtownssj) have the SCSI controller installed, matching the setup of the original models.  &lt;br /&gt;
 &#039;&#039;&#039;./mame64 fmtownsux -cdrom tss2151 -hard1 &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The emulated system should now start to boot from the CD image.  Once at the GUI, double-click the ツール (tool) icon in the TOWNSSYSTEM window.  In the new window that appears, double-click the HDインストール (HD install) icon (highlighted in this screenshot):&lt;br /&gt;
[[File:tos_hdinstall_1.png]]&lt;br /&gt;
&lt;br /&gt;
* A dialog will apear, asking the OS to install, either TownsOS or Windows 3.1.  Select TownsOS, then click the emboldened button.  Now you should see this dialog:&lt;br /&gt;
[[File:tos_hdinstall_2.png]]&lt;br /&gt;
&lt;br /&gt;
Make sure the first option is selected, and click the emboldened button.  The second option is likely used for upgrading an existing TownsOS installation.&lt;br /&gt;
&lt;br /&gt;
* Next select the hard disk to install to.  As the disk drive is unformatted, no drive letters are assigned to any HDs, so you must select disk unit number.  Numbers are assigned to each physical SCSI HD, from 0 to 4.  MAME&#039;s -hard1 slot refers to HD unit 0, so click on that icon to select it (it will display inverted, so you know which unit is selected), as shown below, and then click the emboldened button.&lt;br /&gt;
[[File:tos_hdinstall_drvsel.png]]&lt;br /&gt;
&lt;br /&gt;
* Now you can select which parts of TownsOS you wish to install.  You may select multiple items, so long as there is enough space available on the HD image (100MB is plenty).  The only required feature is &amp;quot;TownsOS (コンソール)&amp;quot;.  &lt;br /&gt;
[[File:tos_hdinstall_pkgsel.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will then bring up a summary of the features to be installed, including the HD unit to install to (should be 0), the drive letter to use for the system drive (it will assign D: for you if there is no other HD drives on the systems), the disk size, and the size of the install.  Click the emboldenend button to continue.&lt;br /&gt;
&lt;br /&gt;
* Now the system will partition and format the drive for you, and then it will reboot.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS from HD, and complete installation ===&lt;br /&gt;
* Once back in the GUI, you&#039;ll now see a new icon for drive D on the initial window.  But first, we need to copy the OS files to the new drive.  Open the ツール window, and double-click the HDインストール icon once again.  The installation process should now begin.&lt;br /&gt;
[[File:tos_hdinstall_copying.png]]&lt;br /&gt;
&lt;br /&gt;
* Once copying is finished, you&#039;ll be presented with a customisation dialog.  Do note that there are two pages to this dialog, you can switch between them by clicking the left-most button at the bottom of the dialog.  Settings can be left as they are, but it is useful to enable the IC memory card driver (click the left option in the ICメモリカード frame on page 1), this will add the loading of the memory card driver to CONFIG.SYS, so that you don&#039;t have to.&lt;br /&gt;
[[File:tos_hdinstall_customise_1.png]][[File:tos_hdinstall_customise_2.png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking the emboldened button will confirm the settings you&#039;ve chosen, and will display this dialog:&lt;br /&gt;
[[File:tos_hdinstall_reset.png]]&lt;br /&gt;
&lt;br /&gt;
This is simply stating that you need to reset the system.  Click the button, and the installation is complete.  To reset the system, select the last item in the FMTowns menu (button in the top-left of the screen), or alternatively, click the button in the top-right corner of the screen, and click the left button (リセット = reset).  The system will now reboot, from the HD (you may unmount the CD image now, if you want).&lt;br /&gt;
&lt;br /&gt;
== Disk partitioning and formatting under TownsOS ==&lt;br /&gt;
&lt;br /&gt;
After installing TownsOS, you&#039;ll likely want to use the rest of the hard disk for storage.  You can do this before installing TownOS, if you wish, but do note that MS-DOS partitions are limited to 127MB in size, splitting up the OS and other areas on the disk is a good idea.  Partitioning is done in the second and third items in the last menu, as shown in in this screenshot:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_hdinstall_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Firstly, you&#039;ll need to select the second menu item, and assign an extra drive letter to HD unit 0.  Click the HD unit 0 icon (there will already be a grey D symbol there signifying that drive D is assigned to this HD.  You&#039;ll see a dialog with two options, leave the top option selected, and click the emboldened button.  This will add the a new drive letter (should be E) to the HD.  Choosing the bottom option in the previous dialog will remove a drive letter assignment.  Drive assignments should now look like this:&lt;br /&gt;
[[File:tos_drive_assign.png]]&lt;br /&gt;
&lt;br /&gt;
Drive assignments are stored in CMOS, so you&#039;ll need to restart TownsOS for the changes to take effect.  As before, you can select the last item on the FMTowns menu, or click the button in the top-right corner of the screen, and then click the left button in the exit dialog to reset.&lt;br /&gt;
&lt;br /&gt;
Once back in the GUI, you can select the third item in the last menu, which will set up disk partitions.&lt;br /&gt;
You&#039;ll see one partition already setup for TownsOS itself.  Click the label for the second partition, and name it anything you wish.  The next option is partition type, select MS-DOS here.  The next option is the bootable flag, this will already be active for the TownsOS partition, and you don&#039;t want to change this, so leave it alone.  The next option is the size of the partition, clicking this will bring up a dialog to adjust it.  Clicking the ALL button will automatically use all remaining space on the disk, up to 127MB (the maximum size of MS-DOS partitions).  When done, you should see a partition table similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_disk_partition.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened will bring up a confirmation dialog, clicking the emboldened button there will write the partition table to the HD.  Clcik the non-emboldened button to close the partitioning program.&lt;br /&gt;
&lt;br /&gt;
Formatting a drive can be found under the first item in the ディスク (disk) menu.  Selecting it will bring up this dialog:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_diskformat.png]]&lt;br /&gt;
&lt;br /&gt;
Use the arrow buttons in the top-left to select which drive to format - note that you cannot select the drive that TownsOS is installed on.  &lt;br /&gt;
The options on the right are:&lt;br /&gt;
* Copy system files to disk (default is to not copy system files)&lt;br /&gt;
* Disk format (enabled for floppy drives only)&lt;br /&gt;
* Disk volume label&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will start the formatting process.  Once done, you can store anything you wish on the HD.&lt;br /&gt;
&lt;br /&gt;
Important note:  By default, folders will appear in an icon view, showing shortcuts to applications and so on.  To get a plain file list view, click the icon in the top right-hand corner of the window, and select the second menu item,&lt;br /&gt;
&lt;br /&gt;
== Controller Support ==&lt;br /&gt;
&lt;br /&gt;
FM Towns controller ports follow the same loose standard used by most other Japanese home computers.  MAME supports a variety of compatible peripherals.  Most software expects to have a standard Towns Pad connected to the first controller port – if a more specialised controller is supported, it should usually be connected to the second controller port.  By default, a Towns Pad is connected to the first controller port, and a mouse is connected to the second controller port.&lt;br /&gt;
&lt;br /&gt;
Some useful controller options include:&lt;br /&gt;
&lt;br /&gt;
;FM Towns 2-button Pad (townspad)&lt;br /&gt;
: The standard FM Towns controller.  Has a D-pad, two action buttons, and Select and Run buttons.  Most software expects a Towns Pad to be connected to the first controller port.&lt;br /&gt;
;MSX Mouse (mouse)&lt;br /&gt;
: Two-button Japanese home computer mouse, compatible with FM Towns.  TownsOS expects a mouse to be connected to the second controller port.&lt;br /&gt;
;FM Towns Marty Pad (martypad)&lt;br /&gt;
: Similar to a Towns Pad, but has an additional shoulder button used to enable or disable vertical screen zoom in FM Towns Marty software.&lt;br /&gt;
;FM Towns 6-button Pad (towns6b)&lt;br /&gt;
: FM Towns controller with D-pad, six action buttons, and Select and Run buttons.  Supported by Street Fighter II games (you need to change the input devices to 6-button pads in the game’s configuration menu – they are not automatically detected).&lt;br /&gt;
;Micomsoft Libble Rabble Joypad (XPD-1LR) (libbler)&lt;br /&gt;
: Dual D-pads and two action buttons.  Libble Rabble expects this controller to be connected to the first controller port.  The buttons are used to add credits and start the game.&lt;br /&gt;
;Dempa Micom Soft Analog Controller (XE-1AP, PC) (xe1ap)&lt;br /&gt;
: Analog joypad with stick and throttle controls, supported by a few driving and flight simulation games.  Must be connected to the second controller port, while a Towns Pad connected to the first controller port is used to enable analog controls.  CSK Research Institute games require the Interface to be set to MD in MAME’s Machine Configuration Menu, while other software expects the default setting (Personal Computer).  See [[Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System|Micom Soft Analog/Digital Controller]] for more information.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8244</id>
		<title>Driver:FMTowns</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8244"/>
		<updated>2022-12-28T04:44:45Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Controller Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing TownsOS ==&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
* Towns System Software v2.1L51 operating system CD image (software list shortname: tss2151)&lt;br /&gt;
&lt;br /&gt;
Before you start, set up input assignments for the mouse.&lt;br /&gt;
&lt;br /&gt;
=== Create a hard disk image ===&lt;br /&gt;
* First, create a blank hard disk image using chdman.&lt;br /&gt;
 &#039;&#039;&#039;./chdman createhd -o &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039; -c none -chs 768,16,16&#039;&#039;&#039;&lt;br /&gt;
The CHS values are up to you, they only affect the size of the disk image, the example given will give about a 100MB image.  The geometry itself is irrelevant for the FM-Towns as hard disks are SCSI.  -c none is also important, as this disables compression, but allows direct writing to the image data (compressed CHDs are read-only).&lt;br /&gt;
If you&#039;ve used the fmtowns driver before, it might be easier if you move or delete all the files in the nvram/fmtowns folder.  This will clear all CMOS settings, which may interfere with some things.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS and run installation program ===&lt;br /&gt;
* Start MAME, with the Towns System Software CD and your newly created hard disk image mounted in -cdrom and -hard1 slots respectively.  Please note that only a couple of drivers (fmtownsux and fmtownssj) have the SCSI controller installed, matching the setup of the original models.  &lt;br /&gt;
 &#039;&#039;&#039;./mame64 fmtownsux -cdrom tss2151 -hard1 &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The emulated system should now start to boot from the CD image.  Once at the GUI, double-click the ツール (tool) icon in the TOWNSSYSTEM window.  In the new window that appears, double-click the HDインストール (HD install) icon (highlighted in this screenshot):&lt;br /&gt;
[[File:tos_hdinstall_1.png]]&lt;br /&gt;
&lt;br /&gt;
* A dialog will apear, asking the OS to install, either TownsOS or Windows 3.1.  Select TownsOS, then click the emboldened button.  Now you should see this dialog:&lt;br /&gt;
[[File:tos_hdinstall_2.png]]&lt;br /&gt;
&lt;br /&gt;
Make sure the first option is selected, and click the emboldened button.  The second option is likely used for upgrading an existing TownsOS installation.&lt;br /&gt;
&lt;br /&gt;
* Next select the hard disk to install to.  As the disk drive is unformatted, no drive letters are assigned to any HDs, so you must select disk unit number.  Numbers are assigned to each physical SCSI HD, from 0 to 4.  MAME&#039;s -hard1 slot refers to HD unit 0, so click on that icon to select it (it will display inverted, so you know which unit is selected), as shown below, and then click the emboldened button.&lt;br /&gt;
[[File:tos_hdinstall_drvsel.png]]&lt;br /&gt;
&lt;br /&gt;
* Now you can select which parts of TownsOS you wish to install.  You may select multiple items, so long as there is enough space available on the HD image (100MB is plenty).  The only required feature is &amp;quot;TownsOS (コンソール)&amp;quot;.  &lt;br /&gt;
[[File:tos_hdinstall_pkgsel.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will then bring up a summary of the features to be installed, including the HD unit to install to (should be 0), the drive letter to use for the system drive (it will assign D: for you if there is no other HD drives on the systems), the disk size, and the size of the install.  Click the emboldenend button to continue.&lt;br /&gt;
&lt;br /&gt;
* Now the system will partition and format the drive for you, and then it will reboot.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS from HD, and complete installation ===&lt;br /&gt;
* Once back in the GUI, you&#039;ll now see a new icon for drive D on the initial window.  But first, we need to copy the OS files to the new drive.  Open the ツール window, and double-click the HDインストール icon once again.  The installation process should now begin.&lt;br /&gt;
[[File:tos_hdinstall_copying.png]]&lt;br /&gt;
&lt;br /&gt;
* Once copying is finished, you&#039;ll be presented with a customisation dialog.  Do note that there are two pages to this dialog, you can switch between them by clicking the left-most button at the bottom of the dialog.  Settings can be left as they are, but it is useful to enable the IC memory card driver (click the left option in the ICメモリカード frame on page 1), this will add the loading of the memory card driver to CONFIG.SYS, so that you don&#039;t have to.&lt;br /&gt;
[[File:tos_hdinstall_customise_1.png]][[File:tos_hdinstall_customise_2.png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking the emboldened button will confirm the settings you&#039;ve chosen, and will display this dialog:&lt;br /&gt;
[[File:tos_hdinstall_reset.png]]&lt;br /&gt;
&lt;br /&gt;
This is simply stating that you need to reset the system.  Click the button, and the installation is complete.  To reset the system, select the last item in the FMTowns menu (button in the top-left of the screen), or alternatively, click the button in the top-right corner of the screen, and click the left button (リセット = reset).  The system will now reboot, from the HD (you may unmount the CD image now, if you want).&lt;br /&gt;
&lt;br /&gt;
== Disk partitioning and formatting under TownsOS ==&lt;br /&gt;
&lt;br /&gt;
After installing TownsOS, you&#039;ll likely want to use the rest of the hard disk for storage.  You can do this before installing TownOS, if you wish, but do note that MS-DOS partitions are limited to 127MB in size, splitting up the OS and other areas on the disk is a good idea.  Partitioning is done in the second and third items in the last menu, as shown in in this screenshot:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_hdinstall_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Firstly, you&#039;ll need to select the second menu item, and assign an extra drive letter to HD unit 0.  Click the HD unit 0 icon (there will already be a grey D symbol there signifying that drive D is assigned to this HD.  You&#039;ll see a dialog with two options, leave the top option selected, and click the emboldened button.  This will add the a new drive letter (should be E) to the HD.  Choosing the bottom option in the previous dialog will remove a drive letter assignment.  Drive assignments should now look like this:&lt;br /&gt;
[[File:tos_drive_assign.png]]&lt;br /&gt;
&lt;br /&gt;
Drive assignments are stored in CMOS, so you&#039;ll need to restart TownsOS for the changes to take effect.  As before, you can select the last item on the FMTowns menu, or click the button in the top-right corner of the screen, and then click the left button in the exit dialog to reset.&lt;br /&gt;
&lt;br /&gt;
Once back in the GUI, you can select the third item in the last menu, which will set up disk partitions.&lt;br /&gt;
You&#039;ll see one partition already setup for TownsOS itself.  Click the label for the second partition, and name it anything you wish.  The next option is partition type, select MS-DOS here.  The next option is the bootable flag, this will already be active for the TownsOS partition, and you don&#039;t want to change this, so leave it alone.  The next option is the size of the partition, clicking this will bring up a dialog to adjust it.  Clicking the ALL button will automatically use all remaining space on the disk, up to 127MB (the maximum size of MS-DOS partitions).  When done, you should see a partition table similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_disk_partition.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened will bring up a confirmation dialog, clicking the emboldened button there will write the partition table to the HD.  Clcik the non-emboldened button to close the partitioning program.&lt;br /&gt;
&lt;br /&gt;
Formatting a drive can be found under the first item in the ディスク (disk) menu.  Selecting it will bring up this dialog:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_diskformat.png]]&lt;br /&gt;
&lt;br /&gt;
Use the arrow buttons in the top-left to select which drive to format - note that you cannot select the drive that TownsOS is installed on.  &lt;br /&gt;
The options on the right are:&lt;br /&gt;
* Copy system files to disk (default is to not copy system files)&lt;br /&gt;
* Disk format (enabled for floppy drives only)&lt;br /&gt;
* Disk volume label&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will start the formatting process.  Once done, you can store anything you wish on the HD.&lt;br /&gt;
&lt;br /&gt;
Important note:  By default, folders will appear in an icon view, showing shortcuts to applications and so on.  To get a plain file list view, click the icon in the top right-hand corner of the window, and select the second menu item,&lt;br /&gt;
&lt;br /&gt;
== Controller Support ==&lt;br /&gt;
&lt;br /&gt;
FM Towns controller ports follow the same loose standard used by most other Japanese home computers.  MAME supports a variety of compatible peripherals.  Most software expects to have a standard Towns Pad connected to the first controller port – if a more specialised controller is supported, it should usually be connected to the second controller port.  By default, a Towns Pad is connected to the first controller port, and a mouse is connected to the second controller port.&lt;br /&gt;
&lt;br /&gt;
Some useful controller options include:&lt;br /&gt;
&lt;br /&gt;
;FM Towns 2-button Pad (townspad)&lt;br /&gt;
: The standard FM Towns controller.  Has a D-pad, to action buttons, and Select and Run buttons.  Most software expects a Towns Pad to be connected to the first controller port.&lt;br /&gt;
;MSX Mouse (mouse)&lt;br /&gt;
: Two-button Japanese home computer mouse, compatible with FM Towns.  TownsOS expects a mouse to be connected to the second controller port.&lt;br /&gt;
;FM Towns Marty Pad (martypad)&lt;br /&gt;
: Has an additional shoulder button used to enable or disable vertical screen zoom in FM Towns Marty software.&lt;br /&gt;
;FM Towns 6-button Pad (towns6b)&lt;br /&gt;
: FM Towns controller with D-pad, six action buttons, and Select and Run buttons.  Supported by Street Fighter II games (you need to change the input devices to 6-button pads in the game’s configuration menu – they are not automatically detected).&lt;br /&gt;
;Micomsoft Libble Rabble Joypad (XPD-1LR) (libbler)&lt;br /&gt;
: Dual D-pads and two action buttons.  Libble Rabble expects this controller to be connected to the first controller port.  The buttons are used to add credits and start the game.&lt;br /&gt;
;Dempa Micom Soft Analog Controller (XE-1AP, PC) (xe1ap)&lt;br /&gt;
: Analog joypad with stick and throttle controls, supported by a few driving and flight simulation games.  Must be connected to the second controller port, while a Towns Pad connected to the first controller port is used to enable analog controls.  CSK Research Institute games require the Interface to be set to MD in MAME’s Machine Configuration Menu, while other software expects the default setting (Personal Computer).  See [[Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System|Micom Soft Analog/Digital Controller]] for more information.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8243</id>
		<title>Driver:FMTowns</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8243"/>
		<updated>2022-12-28T04:44:28Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Controller Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing TownsOS ==&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
* Towns System Software v2.1L51 operating system CD image (software list shortname: tss2151)&lt;br /&gt;
&lt;br /&gt;
Before you start, set up input assignments for the mouse.&lt;br /&gt;
&lt;br /&gt;
=== Create a hard disk image ===&lt;br /&gt;
* First, create a blank hard disk image using chdman.&lt;br /&gt;
 &#039;&#039;&#039;./chdman createhd -o &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039; -c none -chs 768,16,16&#039;&#039;&#039;&lt;br /&gt;
The CHS values are up to you, they only affect the size of the disk image, the example given will give about a 100MB image.  The geometry itself is irrelevant for the FM-Towns as hard disks are SCSI.  -c none is also important, as this disables compression, but allows direct writing to the image data (compressed CHDs are read-only).&lt;br /&gt;
If you&#039;ve used the fmtowns driver before, it might be easier if you move or delete all the files in the nvram/fmtowns folder.  This will clear all CMOS settings, which may interfere with some things.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS and run installation program ===&lt;br /&gt;
* Start MAME, with the Towns System Software CD and your newly created hard disk image mounted in -cdrom and -hard1 slots respectively.  Please note that only a couple of drivers (fmtownsux and fmtownssj) have the SCSI controller installed, matching the setup of the original models.  &lt;br /&gt;
 &#039;&#039;&#039;./mame64 fmtownsux -cdrom tss2151 -hard1 &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The emulated system should now start to boot from the CD image.  Once at the GUI, double-click the ツール (tool) icon in the TOWNSSYSTEM window.  In the new window that appears, double-click the HDインストール (HD install) icon (highlighted in this screenshot):&lt;br /&gt;
[[File:tos_hdinstall_1.png]]&lt;br /&gt;
&lt;br /&gt;
* A dialog will apear, asking the OS to install, either TownsOS or Windows 3.1.  Select TownsOS, then click the emboldened button.  Now you should see this dialog:&lt;br /&gt;
[[File:tos_hdinstall_2.png]]&lt;br /&gt;
&lt;br /&gt;
Make sure the first option is selected, and click the emboldened button.  The second option is likely used for upgrading an existing TownsOS installation.&lt;br /&gt;
&lt;br /&gt;
* Next select the hard disk to install to.  As the disk drive is unformatted, no drive letters are assigned to any HDs, so you must select disk unit number.  Numbers are assigned to each physical SCSI HD, from 0 to 4.  MAME&#039;s -hard1 slot refers to HD unit 0, so click on that icon to select it (it will display inverted, so you know which unit is selected), as shown below, and then click the emboldened button.&lt;br /&gt;
[[File:tos_hdinstall_drvsel.png]]&lt;br /&gt;
&lt;br /&gt;
* Now you can select which parts of TownsOS you wish to install.  You may select multiple items, so long as there is enough space available on the HD image (100MB is plenty).  The only required feature is &amp;quot;TownsOS (コンソール)&amp;quot;.  &lt;br /&gt;
[[File:tos_hdinstall_pkgsel.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will then bring up a summary of the features to be installed, including the HD unit to install to (should be 0), the drive letter to use for the system drive (it will assign D: for you if there is no other HD drives on the systems), the disk size, and the size of the install.  Click the emboldenend button to continue.&lt;br /&gt;
&lt;br /&gt;
* Now the system will partition and format the drive for you, and then it will reboot.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS from HD, and complete installation ===&lt;br /&gt;
* Once back in the GUI, you&#039;ll now see a new icon for drive D on the initial window.  But first, we need to copy the OS files to the new drive.  Open the ツール window, and double-click the HDインストール icon once again.  The installation process should now begin.&lt;br /&gt;
[[File:tos_hdinstall_copying.png]]&lt;br /&gt;
&lt;br /&gt;
* Once copying is finished, you&#039;ll be presented with a customisation dialog.  Do note that there are two pages to this dialog, you can switch between them by clicking the left-most button at the bottom of the dialog.  Settings can be left as they are, but it is useful to enable the IC memory card driver (click the left option in the ICメモリカード frame on page 1), this will add the loading of the memory card driver to CONFIG.SYS, so that you don&#039;t have to.&lt;br /&gt;
[[File:tos_hdinstall_customise_1.png]][[File:tos_hdinstall_customise_2.png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking the emboldened button will confirm the settings you&#039;ve chosen, and will display this dialog:&lt;br /&gt;
[[File:tos_hdinstall_reset.png]]&lt;br /&gt;
&lt;br /&gt;
This is simply stating that you need to reset the system.  Click the button, and the installation is complete.  To reset the system, select the last item in the FMTowns menu (button in the top-left of the screen), or alternatively, click the button in the top-right corner of the screen, and click the left button (リセット = reset).  The system will now reboot, from the HD (you may unmount the CD image now, if you want).&lt;br /&gt;
&lt;br /&gt;
== Disk partitioning and formatting under TownsOS ==&lt;br /&gt;
&lt;br /&gt;
After installing TownsOS, you&#039;ll likely want to use the rest of the hard disk for storage.  You can do this before installing TownOS, if you wish, but do note that MS-DOS partitions are limited to 127MB in size, splitting up the OS and other areas on the disk is a good idea.  Partitioning is done in the second and third items in the last menu, as shown in in this screenshot:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_hdinstall_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Firstly, you&#039;ll need to select the second menu item, and assign an extra drive letter to HD unit 0.  Click the HD unit 0 icon (there will already be a grey D symbol there signifying that drive D is assigned to this HD.  You&#039;ll see a dialog with two options, leave the top option selected, and click the emboldened button.  This will add the a new drive letter (should be E) to the HD.  Choosing the bottom option in the previous dialog will remove a drive letter assignment.  Drive assignments should now look like this:&lt;br /&gt;
[[File:tos_drive_assign.png]]&lt;br /&gt;
&lt;br /&gt;
Drive assignments are stored in CMOS, so you&#039;ll need to restart TownsOS for the changes to take effect.  As before, you can select the last item on the FMTowns menu, or click the button in the top-right corner of the screen, and then click the left button in the exit dialog to reset.&lt;br /&gt;
&lt;br /&gt;
Once back in the GUI, you can select the third item in the last menu, which will set up disk partitions.&lt;br /&gt;
You&#039;ll see one partition already setup for TownsOS itself.  Click the label for the second partition, and name it anything you wish.  The next option is partition type, select MS-DOS here.  The next option is the bootable flag, this will already be active for the TownsOS partition, and you don&#039;t want to change this, so leave it alone.  The next option is the size of the partition, clicking this will bring up a dialog to adjust it.  Clicking the ALL button will automatically use all remaining space on the disk, up to 127MB (the maximum size of MS-DOS partitions).  When done, you should see a partition table similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_disk_partition.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened will bring up a confirmation dialog, clicking the emboldened button there will write the partition table to the HD.  Clcik the non-emboldened button to close the partitioning program.&lt;br /&gt;
&lt;br /&gt;
Formatting a drive can be found under the first item in the ディスク (disk) menu.  Selecting it will bring up this dialog:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_diskformat.png]]&lt;br /&gt;
&lt;br /&gt;
Use the arrow buttons in the top-left to select which drive to format - note that you cannot select the drive that TownsOS is installed on.  &lt;br /&gt;
The options on the right are:&lt;br /&gt;
* Copy system files to disk (default is to not copy system files)&lt;br /&gt;
* Disk format (enabled for floppy drives only)&lt;br /&gt;
* Disk volume label&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will start the formatting process.  Once done, you can store anything you wish on the HD.&lt;br /&gt;
&lt;br /&gt;
Important note:  By default, folders will appear in an icon view, showing shortcuts to applications and so on.  To get a plain file list view, click the icon in the top right-hand corner of the window, and select the second menu item,&lt;br /&gt;
&lt;br /&gt;
== Controller Support ==&lt;br /&gt;
&lt;br /&gt;
FM Towns controller ports follow the same loose standard used by most other Japanese home computers.  MAME supports a variety of compatible peripherals.  Most software expects to have a standard Towns Pad connected to the first controller port – if a more specialised controller is supported, it should usually be connected to the second controller port.  By default, a Towns Pad is connected to the first controller port, and a mouse is connected to the second controller port.&lt;br /&gt;
&lt;br /&gt;
Some useful controller options include:&lt;br /&gt;
&lt;br /&gt;
;FM Towns 2-button Pad (townspad)&lt;br /&gt;
: The standard FM Towns controller.  Has a D-pad, to action buttons, and Select and Run buttons.  Most software expects a Towns Pad to be connected to the first controller port.&lt;br /&gt;
;MSX Mouse (mouse)&lt;br /&gt;
: Two-button Japanese home computer mouse, compatible with FM Towns.  TownsOS expects a mouse to be connected to the second controller port.&lt;br /&gt;
;FM Towns Marty Pad (martypad)&lt;br /&gt;
: Has an additional shoulder button used to enable or disable vertical screen zoom in FM Towns Marty software.&lt;br /&gt;
;FM Towns 6-button Pad (towns6b)&lt;br /&gt;
: FM Towns controller with D-pad, six action buttons, and Select and Run buttons.  Supported by Street Fighter II games (you need to change the input devices to 6-button pads in the game’s configuration menu – they are not automatically detected).&lt;br /&gt;
;Micomsoft Libble Rabble Joypad (XPD-1LR) (libbler)&lt;br /&gt;
: Dual D-pads and two action buttons.  Libble Rabble expects this controller to be connected to the first controller port.  The buttons are used to add credits and start the game.&lt;br /&gt;
;Dempa Micom Soft Analog Controller (XE-1AP, PC) (xe1ap)&lt;br /&gt;
: Analog joypad with stick and throttle controls, supported by a few driving and flight simulation games.  Must be connected to the second controller port, while a Towns Pad connected to the first controller port is used to enable analog controls.  CSK Research Institute games require the Interface to be set to MD in MAME’s Machine Configuration Menu, while other software expects the default setting (Personal Computer.  See [[Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System|Micom Soft Analog/Digital Controller]] for more information.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8242</id>
		<title>Driver:FMTowns</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:FMTowns&amp;diff=8242"/>
		<updated>2022-12-28T04:43:29Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing TownsOS ==&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
* Towns System Software v2.1L51 operating system CD image (software list shortname: tss2151)&lt;br /&gt;
&lt;br /&gt;
Before you start, set up input assignments for the mouse.&lt;br /&gt;
&lt;br /&gt;
=== Create a hard disk image ===&lt;br /&gt;
* First, create a blank hard disk image using chdman.&lt;br /&gt;
 &#039;&#039;&#039;./chdman createhd -o &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039; -c none -chs 768,16,16&#039;&#039;&#039;&lt;br /&gt;
The CHS values are up to you, they only affect the size of the disk image, the example given will give about a 100MB image.  The geometry itself is irrelevant for the FM-Towns as hard disks are SCSI.  -c none is also important, as this disables compression, but allows direct writing to the image data (compressed CHDs are read-only).&lt;br /&gt;
If you&#039;ve used the fmtowns driver before, it might be easier if you move or delete all the files in the nvram/fmtowns folder.  This will clear all CMOS settings, which may interfere with some things.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS and run installation program ===&lt;br /&gt;
* Start MAME, with the Towns System Software CD and your newly created hard disk image mounted in -cdrom and -hard1 slots respectively.  Please note that only a couple of drivers (fmtownsux and fmtownssj) have the SCSI controller installed, matching the setup of the original models.  &lt;br /&gt;
 &#039;&#039;&#039;./mame64 fmtownsux -cdrom tss2151 -hard1 &#039;&#039;&amp;lt;path to HD image file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
The emulated system should now start to boot from the CD image.  Once at the GUI, double-click the ツール (tool) icon in the TOWNSSYSTEM window.  In the new window that appears, double-click the HDインストール (HD install) icon (highlighted in this screenshot):&lt;br /&gt;
[[File:tos_hdinstall_1.png]]&lt;br /&gt;
&lt;br /&gt;
* A dialog will apear, asking the OS to install, either TownsOS or Windows 3.1.  Select TownsOS, then click the emboldened button.  Now you should see this dialog:&lt;br /&gt;
[[File:tos_hdinstall_2.png]]&lt;br /&gt;
&lt;br /&gt;
Make sure the first option is selected, and click the emboldened button.  The second option is likely used for upgrading an existing TownsOS installation.&lt;br /&gt;
&lt;br /&gt;
* Next select the hard disk to install to.  As the disk drive is unformatted, no drive letters are assigned to any HDs, so you must select disk unit number.  Numbers are assigned to each physical SCSI HD, from 0 to 4.  MAME&#039;s -hard1 slot refers to HD unit 0, so click on that icon to select it (it will display inverted, so you know which unit is selected), as shown below, and then click the emboldened button.&lt;br /&gt;
[[File:tos_hdinstall_drvsel.png]]&lt;br /&gt;
&lt;br /&gt;
* Now you can select which parts of TownsOS you wish to install.  You may select multiple items, so long as there is enough space available on the HD image (100MB is plenty).  The only required feature is &amp;quot;TownsOS (コンソール)&amp;quot;.  &lt;br /&gt;
[[File:tos_hdinstall_pkgsel.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will then bring up a summary of the features to be installed, including the HD unit to install to (should be 0), the drive letter to use for the system drive (it will assign D: for you if there is no other HD drives on the systems), the disk size, and the size of the install.  Click the emboldenend button to continue.&lt;br /&gt;
&lt;br /&gt;
* Now the system will partition and format the drive for you, and then it will reboot.&lt;br /&gt;
&lt;br /&gt;
=== Boot TownsOS from HD, and complete installation ===&lt;br /&gt;
* Once back in the GUI, you&#039;ll now see a new icon for drive D on the initial window.  But first, we need to copy the OS files to the new drive.  Open the ツール window, and double-click the HDインストール icon once again.  The installation process should now begin.&lt;br /&gt;
[[File:tos_hdinstall_copying.png]]&lt;br /&gt;
&lt;br /&gt;
* Once copying is finished, you&#039;ll be presented with a customisation dialog.  Do note that there are two pages to this dialog, you can switch between them by clicking the left-most button at the bottom of the dialog.  Settings can be left as they are, but it is useful to enable the IC memory card driver (click the left option in the ICメモリカード frame on page 1), this will add the loading of the memory card driver to CONFIG.SYS, so that you don&#039;t have to.&lt;br /&gt;
[[File:tos_hdinstall_customise_1.png]][[File:tos_hdinstall_customise_2.png]]&lt;br /&gt;
&lt;br /&gt;
* Clicking the emboldened button will confirm the settings you&#039;ve chosen, and will display this dialog:&lt;br /&gt;
[[File:tos_hdinstall_reset.png]]&lt;br /&gt;
&lt;br /&gt;
This is simply stating that you need to reset the system.  Click the button, and the installation is complete.  To reset the system, select the last item in the FMTowns menu (button in the top-left of the screen), or alternatively, click the button in the top-right corner of the screen, and click the left button (リセット = reset).  The system will now reboot, from the HD (you may unmount the CD image now, if you want).&lt;br /&gt;
&lt;br /&gt;
== Disk partitioning and formatting under TownsOS ==&lt;br /&gt;
&lt;br /&gt;
After installing TownsOS, you&#039;ll likely want to use the rest of the hard disk for storage.  You can do this before installing TownOS, if you wish, but do note that MS-DOS partitions are limited to 127MB in size, splitting up the OS and other areas on the disk is a good idea.  Partitioning is done in the second and third items in the last menu, as shown in in this screenshot:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_hdinstall_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Firstly, you&#039;ll need to select the second menu item, and assign an extra drive letter to HD unit 0.  Click the HD unit 0 icon (there will already be a grey D symbol there signifying that drive D is assigned to this HD.  You&#039;ll see a dialog with two options, leave the top option selected, and click the emboldened button.  This will add the a new drive letter (should be E) to the HD.  Choosing the bottom option in the previous dialog will remove a drive letter assignment.  Drive assignments should now look like this:&lt;br /&gt;
[[File:tos_drive_assign.png]]&lt;br /&gt;
&lt;br /&gt;
Drive assignments are stored in CMOS, so you&#039;ll need to restart TownsOS for the changes to take effect.  As before, you can select the last item on the FMTowns menu, or click the button in the top-right corner of the screen, and then click the left button in the exit dialog to reset.&lt;br /&gt;
&lt;br /&gt;
Once back in the GUI, you can select the third item in the last menu, which will set up disk partitions.&lt;br /&gt;
You&#039;ll see one partition already setup for TownsOS itself.  Click the label for the second partition, and name it anything you wish.  The next option is partition type, select MS-DOS here.  The next option is the bootable flag, this will already be active for the TownsOS partition, and you don&#039;t want to change this, so leave it alone.  The next option is the size of the partition, clicking this will bring up a dialog to adjust it.  Clicking the ALL button will automatically use all remaining space on the disk, up to 127MB (the maximum size of MS-DOS partitions).  When done, you should see a partition table similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_disk_partition.png]]&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened will bring up a confirmation dialog, clicking the emboldened button there will write the partition table to the HD.  Clcik the non-emboldened button to close the partitioning program.&lt;br /&gt;
&lt;br /&gt;
Formatting a drive can be found under the first item in the ディスク (disk) menu.  Selecting it will bring up this dialog:&lt;br /&gt;
&lt;br /&gt;
[[File:tos_diskformat.png]]&lt;br /&gt;
&lt;br /&gt;
Use the arrow buttons in the top-left to select which drive to format - note that you cannot select the drive that TownsOS is installed on.  &lt;br /&gt;
The options on the right are:&lt;br /&gt;
* Copy system files to disk (default is to not copy system files)&lt;br /&gt;
* Disk format (enabled for floppy drives only)&lt;br /&gt;
* Disk volume label&lt;br /&gt;
&lt;br /&gt;
Clicking the emboldened button will start the formatting process.  Once done, you can store anything you wish on the HD.&lt;br /&gt;
&lt;br /&gt;
Important note:  By default, folders will appear in an icon view, showing shortcuts to applications and so on.  To get a plain file list view, click the icon in the top right-hand corner of the window, and select the second menu item,&lt;br /&gt;
&lt;br /&gt;
== Controller Support ==&lt;br /&gt;
&lt;br /&gt;
FM Towns controller ports follow the same loose standard used by most other Japanese home computers.  MAME supports a variety of compatible peripherals.  Most software expects to have a standard Towns Pad connected to the first controller port – if a more specialised controller is supported, it should usually be connected to the second controller port.  By default, a Towns Pad is connected to the first controller port, and a mouse is connected to the second controller port.&lt;br /&gt;
&lt;br /&gt;
Some useful controller options include:&lt;br /&gt;
&lt;br /&gt;
;FM Towns 2-button Pad (townspad)&lt;br /&gt;
: The standard FM Towns controller.  Has a D-pad, to action buttons, and Select and Run buttons.  Most software expects a Towns Pad to be connected to the first controller port.&lt;br /&gt;
;MSX Mouse (mouse)&lt;br /&gt;
: Two-button Japanese home computer mouse, compatible with FM Towns.  TownsOS expects a mouse to be connected to the second controller port.&lt;br /&gt;
;FM Towns Marty Pad (martypad)&lt;br /&gt;
: Has an additional shoulder button used to enable or disable vertical screen zoom in FM Towns Marty software.&lt;br /&gt;
;FM Towns 6-button Pad (towns6b)&lt;br /&gt;
: FM Towns controller with D-pad, six action buttons, and Select and Run buttons.  Supported by Street Fighter II games (you need to change the input devices to 6-button pads in the game’s configuration menu – they are not automatically detected).&lt;br /&gt;
;Micomsoft Libble Rabble Joypad (XPD-1LR) (libbler)&lt;br /&gt;
: Dual D-pads and two action buttons.  Libble Rabble expects this controller to be connected to the first controller port.  The buttons are used to add credits and start the game.&lt;br /&gt;
;Dempa Micom Soft Analog Controller (XE-1AP, PC) (xe1ap)&lt;br /&gt;
: Analog joypad with stick and throttle controls, supported by driving and flight simulation games.  Must be connected to the second controller port, while a Towns Pad connected to the first controller port is used to enable analog controls.  CSK Research Institute games require the Interface to be set to MD in MAME’s Machine Configuration Menu, while other software expects the default setting (Personal Computer.  See [[Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System|Micom Soft Analog/Digital Controller]] for more information.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8238</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8238"/>
		<updated>2022-12-23T20:39:31Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Compatible Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire cannon, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039;, &#039;&#039;&#039;E2&#039;&#039;&#039;, &#039;&#039;&#039;Start&#039;&#039;&#039; or &#039;&#039;&#039;Select&#039;&#039;&#039; || Start game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up/down || Rotor collective pitch (vertical movement), navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick left/right || Rotor cyclic pitch (horizontal movement)&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire cannon, start game, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire missiles, start game, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Options menu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Taito Chase H.Q. (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8237</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8237"/>
		<updated>2022-12-23T20:30:26Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Thunder Blade (PC Engine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire cannon, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039;, &#039;&#039;&#039;E2&#039;&#039;&#039;, &#039;&#039;&#039;Start&#039;&#039;&#039; or &#039;&#039;&#039;Select&#039;&#039;&#039; || Start game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Taito Chase H.Q. (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8236</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8236"/>
		<updated>2022-12-23T19:11:53Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Chase HQ (FM Towns) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039;, &#039;&#039;&#039;E2&#039;&#039;&#039;, &#039;&#039;&#039;Start&#039;&#039;&#039; or &#039;&#039;&#039;Select&#039;&#039;&#039; || Start game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Taito Chase H.Q. (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8235</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8235"/>
		<updated>2022-12-23T19:04:52Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Super Hang-On (X68000) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039;, &#039;&#039;&#039;E2&#039;&#039;&#039;, &#039;&#039;&#039;Start&#039;&#039;&#039; or &#039;&#039;&#039;Select&#039;&#039;&#039; || Start game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8231</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8231"/>
		<updated>2022-12-21T08:14:29Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Ayrton Senna’s Super Monaco GP II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8230</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8230"/>
		<updated>2022-12-21T08:14:13Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Ayrton Senna’s Super Monaco GP II */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8229</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8229"/>
		<updated>2022-12-21T08:13:27Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Compatible Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ayrton Senna’s Super Monaco GP II ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
* This game is intended to be played with the throttle control rotated for horizontal movement – you may need to reassign it&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Choose track, move text entry cursor, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Accelerate, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Brake, navigate menus, move text entry cursor&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Steer&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Shift up, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Shift up, Exit menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Shift down, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Shift down&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Pit in&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8226</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8226"/>
		<updated>2022-12-20T18:57:20Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Compatible Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder Blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Forgotten Worlds (PC Engine Super CD-ROM²) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Insert the CD-ROM² Super System Card and the Forgotten Worlds CD&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;Run&#039;&#039;&#039; button on the XHE-3 adapter at the Super CD-ROM² System screen to start the software (the &#039;&#039;&#039;Start&#039;&#039;&#039; button on the XE-1AP will not be recognised)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Movement, navigate menus, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Aim&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire, purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; || Purchase items in shop, skip cutscenes, select menu items, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Show or hide score/item screen when paused, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8225</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8225"/>
		<updated>2022-12-20T00:52:25Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Emulation Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right Button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right Trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left Button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left Trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad Left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad Right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left Stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left Stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Right Stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is not be the most ergonomically comfortable way to play every game.  In particular, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Throttle Analog Inc/Dec inputs (rather than the Throttle Analog input) and reduce its auto-centring speed to zero in MAME’s Analog Input Adjustments menu so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
For games that use opposite direction on the throttle to accelerate and decelerate/brake, you can assign “Right Trigger Reverse or Left Trigger” to the Throttle, and use the right trigger to accelerate and the left trigger to decelerate/brake.  Remember not to assign the triggers to buttons if you’re using them to control the throttle.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8224</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8224"/>
		<updated>2022-12-20T00:23:51Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Variants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle (spring-returned)&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8223</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8223"/>
		<updated>2022-12-20T00:16:28Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Compatible Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syvalion (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire, skip cutscenes, continue, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8222</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8222"/>
		<updated>2022-12-20T00:10:34Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Out Run (PC Engine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, &#039;&#039;&#039;E1&#039;&#039;&#039; or &#039;&#039;&#039;E2&#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8221</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8221"/>
		<updated>2022-12-20T00:03:17Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Out Run (PC Engine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;B&#039; &#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;D&#039;&#039;&#039;, E1 or E2 || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8220</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8220"/>
		<updated>2022-12-20T00:00:35Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Compatible Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8219</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8219"/>
		<updated>2022-12-19T23:58:28Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Thunder blade (PC Engine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8218</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8218"/>
		<updated>2022-12-19T23:51:04Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* After Burner II (PC Engine) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.  Also note that this game only uses the &#039;&#039;&#039;A&#039; &#039;&#039;&#039; and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; face buttons – the &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; shoulder buttons are not used.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8217</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8217"/>
		<updated>2022-12-19T18:08:42Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Emulation Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, NEC/Hudson Soft PC Engine console family (using the XHE-3 adapter), Sharp X68000 computer family, and Fujitsu FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.  Also note that this game only uses the &#039;&#039;&#039;A&#039; &#039;&#039;&#039; and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; face buttons – the &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; shoulder buttons are not used.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8216</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8216"/>
		<updated>2022-12-19T18:07:01Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* XE-1AJ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work with a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, PC Engine console family (using the XHE-3 adapter), X68000 computer family, and FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.  Also note that this game only uses the &#039;&#039;&#039;A&#039; &#039;&#039;&#039; and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; face buttons – the &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; shoulder buttons are not used.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8215</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8215"/>
		<updated>2022-12-19T17:37:39Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Chase HQ (FM Towns) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, PC Engine console family (using the XHE-3 adapter), X68000 computer family, and FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.  Also note that this game only uses the &#039;&#039;&#039;A&#039; &#039;&#039;&#039; and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; face buttons – the &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; shoulder buttons are not used.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8214</id>
		<title>Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Dempa_Micom_Soft_Analog/Digital_Intelligent_Controller_System&amp;diff=8214"/>
		<updated>2022-12-19T17:26:31Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: Created page with &amp;quot;= Dempa Micom Soft Analog/Digital Controller System =  Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Dempa Micom Soft Analog/Digital Controller System =&lt;br /&gt;
&lt;br /&gt;
Originally developed for use with the Sharp X68000 Japanese home computer, this controller system supported up to four analog axes, ten buttons, and multiple modes and special features.&lt;br /&gt;
&lt;br /&gt;
Released in 1989, XE-1AP control pad version was ahead of its time.  It was the first game pad to feature grip handles, analog thumb controls, and shoulder buttons (with two shoulder buttons on each side).  It heavily influenced the design of the Sega Saturn 3D Control Pad, which was the basis for the Sega Dreamcast and Microsoft Xbox control pads.  It was nicknamed the horseshoe crab (kabutogani) controller in Japan due to its shape.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
This analog controller was sold in two versions:&lt;br /&gt;
&lt;br /&gt;
* XE-1AJ desktop HOTAS flight control style joystick.  Also sold with Sharp branding as the XZ-8NJ2 Cyber Stick&lt;br /&gt;
* XE-1AP control pad, with added support for use with Sega consoles&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AJ has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog joystick&lt;br /&gt;
** Thumb button &#039;&#039;&#039;A&#039;&#039;&#039;&lt;br /&gt;
** Index finger trigger &#039;&#039;&#039;B&#039;&#039;&#039;&lt;br /&gt;
** A Rapid Fire On/Off switch to the right of button&lt;br /&gt;
* Analog throttle&lt;br /&gt;
** Thumb button &#039;&#039;&#039;D&#039;&#039;&#039;&lt;br /&gt;
** Thumb rocker switch &#039;&#039;&#039;E1&#039;&#039;&#039; (down)/&#039;&#039;&#039;E2&#039;&#039;&#039; (up)&lt;br /&gt;
* Panel controls:&lt;br /&gt;
** &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039;, &#039;&#039;&#039;C&#039;&#039;&#039;, &#039;&#039;&#039;Select&#039;&#039;&#039; and &#039;&#039;&#039;Start&#039;&#039;&#039; buttons&lt;br /&gt;
** A/B Normal/Reverse switch (exchanges the functions of &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons)&lt;br /&gt;
** A Hold On/Off switch (enables auto-fire when A Rapid Fire is on)&lt;br /&gt;
** A Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Trigger Speed slider (adjusts &#039;&#039;&#039;A&#039;&#039;&#039; rapid fire speed)&lt;br /&gt;
** B Manual/Auto/Hold (selects between normal, rapid fire, and auto-fire modes for &#039;&#039;&#039;B&#039;&#039;&#039;)&lt;br /&gt;
** Analog/Digital Mode switch&lt;br /&gt;
* Reset button on rear panel (special modes can be enabled by holding panel buttons while pressing the reset button)&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Start&#039;&#039;&#039; and &#039;&#039;&#039;Select&#039;&#039;&#039; buttons are sometimes referred to as &#039;&#039;&#039;F&#039;&#039;&#039; and &#039;&#039;&#039;G&#039;&#039;&#039;, respectively.&lt;br /&gt;
&lt;br /&gt;
The positions of the throttle and stick can be exchanged for for left-handed or right-handed use.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP ===&lt;br /&gt;
&lt;br /&gt;
The XE-1AP has the following controls:&lt;br /&gt;
&lt;br /&gt;
* Two-axis analog thumb stick (centre left)&lt;br /&gt;
* Analog throttle slider (centre right, can be rotated through 270°, but rotation is not reported)&lt;br /&gt;
* Shoulder buttons &#039;&#039;&#039;A&#039;&#039;&#039; (right upper), &#039;&#039;&#039;B&#039;&#039;&#039; (right lower), &#039;&#039;&#039;C&#039;&#039;&#039; (left upper), and &#039;&#039;&#039;D&#039;&#039;&#039; (left lower)&lt;br /&gt;
* Face buttons:&lt;br /&gt;
** Upper right &#039;&#039;&#039;A&#039; &#039;&#039;&#039; (outer) and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; (inner)&lt;br /&gt;
** Upper left &#039;&#039;&#039;E1&#039;&#039;&#039; (outer) and &#039;&#039;&#039;E2&#039;&#039;&#039; (inner)&lt;br /&gt;
** Lower &#039;&#039;&#039;Start&#039;&#039;&#039; (right) and &#039;&#039;&#039;Select&#039;&#039;&#039; (left)&lt;br /&gt;
* Mode switches:&lt;br /&gt;
** MD/Personal Computer interface&lt;br /&gt;
** Analog/Digital mode&lt;br /&gt;
** A Normal/Auto fire mode&lt;br /&gt;
** B Normal/Auto fire mode&lt;br /&gt;
** Channel Shift On/Off Switch (on underside, changes functions of analog controls)&lt;br /&gt;
&lt;br /&gt;
Channel shift mode is designed as an alternate control scheme for racing games.  With channel shift mode on, the throttle slider is used to steer, and the stick is used to shift gears (left/right), accelerate (up) and brake (down).&lt;br /&gt;
&lt;br /&gt;
== Digital Mode ==&lt;br /&gt;
&lt;br /&gt;
In digital mode, the controller emulated a digital joystick or control pad for games that lack support for analog controls.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AJ ===&lt;br /&gt;
&lt;br /&gt;
Digital mode is compatible with many games designed to work with standard 2-button MSX-compatible joysticks, using the stick, &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; buttons.  Note that it will not work with software designed to work a Fujitsu FM Towns Marty Pad.&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP MD interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with games designed to work with a 3-button Sega Mega Drive Control Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== XE-1AP Personal Computer interface ===&lt;br /&gt;
&lt;br /&gt;
This mode is compatible with most games designed to work with a Fujitsu FM Towns 6-button Pad:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick up || Up&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Down&lt;br /&gt;
|-&lt;br /&gt;
| Stick left || Left&lt;br /&gt;
|-&lt;br /&gt;
| Stick right || Right&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Z&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Y&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; button || A&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; button || B&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; button || X&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; button || C&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; button || Run&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; button || Select&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;E1&#039;&#039;&#039; and &#039;&#039;&#039;E2&#039;&#039;&#039; are also readable, but will only be recognised by software designed specifically for the XE-1AJ or XE-1AP in digital mode.  Note that fighting games will not be playable, as the throttle slider is not a suitable substitute for two buttons.&lt;br /&gt;
&lt;br /&gt;
== Emulation Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, MAME supports the XE-1AP variant in Analog and Digital modes, for both the MD and Personal Computer interfaces.  It can be used with the Sega Mega Drive console family, PC Engine console family (using the XHE-3 adapter), X68000 computer family, and FM Towns computer family.&lt;br /&gt;
&lt;br /&gt;
A Auto, B Auto, Channel Shift, and special modes enabled by holding buttons at power on are not supported.&lt;br /&gt;
&lt;br /&gt;
Due to the number of controls and complexity, you will need to manually assign inputs.  Here are example assignments that largely mirror the original layout using an Xbox-style controller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Start || Start&lt;br /&gt;
|-&lt;br /&gt;
| Select || Back&lt;br /&gt;
|-&lt;br /&gt;
| A || Right button&lt;br /&gt;
|-&lt;br /&gt;
| B || Right trigger&lt;br /&gt;
|-&lt;br /&gt;
| C || Left button&lt;br /&gt;
|-&lt;br /&gt;
| D || Left trigger&lt;br /&gt;
|-&lt;br /&gt;
| E1 || D-pad left&lt;br /&gt;
|-&lt;br /&gt;
| E2 || D-pad right&lt;br /&gt;
|-&lt;br /&gt;
| A&#039; || B&lt;br /&gt;
|-&lt;br /&gt;
| B&#039; || A&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick X Analog || Left stick X&lt;br /&gt;
|-&lt;br /&gt;
| AD Stick Y Analog || Left stick Y&lt;br /&gt;
|-&lt;br /&gt;
| Padde V Analog || Right stick Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
However, this is not be the most ergonomically comfortable way to play every game.  In particular, since the throttle control was not originally automatically centring, you may want to either avoid using right-hand face buttons so the right stick can be held in position, or assign the Paddle V Analog Inc/Dec inputs (rather than the Paddle V Analog input) so the emulated control will hold its position.&lt;br /&gt;
&lt;br /&gt;
== Compatible Games ==&lt;br /&gt;
&lt;br /&gt;
This list is incomplete.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; and &#039;&#039;&#039;D&#039;&#039;&#039; || Only used in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (Mega Drive) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fire button functions can be exchanged in the game’s Options menu.&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Pause or resume game, navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Operation Wolf (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Move aiming cursor&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire rocket launcher, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire machine gun, select stage&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, skip cutscenes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Out Run (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer, radio tuner dial&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;A&#039; &#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Brake pedal, select radio station&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Thunder blade (PC Engine) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the controller port using the XHE-3 adapter&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* The controller is only detected on start, so you will need to reset the emulated machine if you switch between analog and digital mode&lt;br /&gt;
&lt;br /&gt;
Although analog mode is recognised and supported, it does not provide any benefits over a digital control pad or joystick.  Movement speed is fixed, and no additional buttons are supported.  Also note that this game only uses the &#039;&#039;&#039;A&#039; &#039;&#039;&#039; and &#039;&#039;&#039;B&#039; &#039;&#039;&#039; face buttons – the &#039;&#039;&#039;A&#039;&#039;&#039; and &#039;&#039;&#039;B&#039;&#039;&#039; shoulder buttons are not used.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Helicopter movement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire air-to-air guns, adjust settings&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire air-to-ground rockets&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Select&#039;&#039;&#039; || Navigate menus, press while holding &#039;&#039;&#039;Start&#039;&#039;&#039; to reset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner II (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Press the &#039;&#039;&#039;OPT.1&#039;&#039;&#039; key on the keyboard (PrtScr by default) at the title screen to enable joystick controls&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Super Hang-On (X68000) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the first joystick port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Throttle&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Select menu items&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== After Burner III (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed, after burner level&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missile, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire Vulcan guns&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;C&#039;&#039;&#039; or &#039;&#039;&#039;D&#039;&#039;&#039; || Hold to activate after burners&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Start, pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chase HQ (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and Personal Computer interface in MAME’s Machine Configuration menu (the defaults)&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick left/right || Steer&lt;br /&gt;
|-&lt;br /&gt;
| Stick up || Select low gear&lt;br /&gt;
|-&lt;br /&gt;
| Stick down || Select high gear&lt;br /&gt;
|-&lt;br /&gt;
| Throttle up || Accelerator pedal&lt;br /&gt;
|-&lt;br /&gt;
| Throttle down || Brake pedal&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Select next axis (channel) in input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Exit input test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;D&#039;&#039;&#039; || Activate turbo boost&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Galaxy Force II (FM Towns) ===&lt;br /&gt;
&lt;br /&gt;
* Connect the XE-1AP to the second controller port&lt;br /&gt;
* Select Analog mode and MD interface in MAME’s Machine Configuration menu&lt;br /&gt;
* Use a Towns Pad connected to the first controller port to navigate the menus and change the Input Device to Analog Stick or Analog Pad&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Stick || Flight attitude, navigate menus&lt;br /&gt;
|-&lt;br /&gt;
| Throttle || Speed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;A&#039;&#039;&#039; or &#039;&#039;&#039;A&#039; &#039;&#039;&#039; || Fire missiles, select menu items&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;B&#039;&#039;&#039; or &#039;&#039;&#039;B&#039; &#039;&#039;&#039; || Fire shots&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Start&#039;&#039;&#039; || Pause or resume game, dismiss input test&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=System-Specific_Setup_and_Information&amp;diff=8213</id>
		<title>System-Specific Setup and Information</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=System-Specific_Setup_and_Information&amp;diff=8213"/>
		<updated>2022-12-19T13:29:18Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Driver:4004 Nixie Clock|4004 Nixie Clock (4004clk)]]&lt;br /&gt;
* [[Driver:INTELLEC 4|INTELLEC® 4 (intlc44, intlc440)]]&lt;br /&gt;
* [[Driver:CT486|AMI 486 Clone PC (ct486)]]&lt;br /&gt;
* [[Driver:Amstrad|Amstrad CPC]]&lt;br /&gt;
* [[Driver:pc1640|Amstrad PC 1640]]&lt;br /&gt;
* [[Driver:Apollo|Apollo workstations and servers]]&lt;br /&gt;
* [[Driver:HP300|HP 9000 series 300 workstations]]&lt;br /&gt;
* [[Driver:Apple II|Apple II personal computers]]&lt;br /&gt;
* [[Driver:Mac_68K|Apple Macintosh computers (Motorola MC680x0)]]&lt;br /&gt;
* [[Driver:FMTowns|Fujitsu FM-Towns personal computers]]&lt;br /&gt;
* [[Driver:HP_IPC|Hewlett-Packard Integral PC]]&lt;br /&gt;
* [[Driver:InterPro|Intergraph InterPro and InterServe workstations and servers]]&lt;br /&gt;
* [[Driver:MIPS|MIPS workstations and servers]]&lt;br /&gt;
* [[Driver:NeoGeo|Neo-Geo arcade and home hardware]]&lt;br /&gt;
* [[Driver:Seibu SPI|Seibu SPI]] (Senkyu/Battle Balls, Viper Phase 1, Raiden Fighters series, E-Jan High School)&lt;br /&gt;
* Expansion cards for IBM PC and clones: [[Driver:PGC|IBM Professional Graphics Controller]]&lt;br /&gt;
* Soviet systems: [[Driver:Soviet PCs|PC clones]] -- [[Driver:Soviet PDP-11s|PDP-11 clones]] -- [[Driver:Soviet terminals|Terminals]] -- [[Driver:Agat|Agat]]&lt;br /&gt;
* [[Driver:ABC_1600|ABC 1600]]&lt;br /&gt;
* [[Driver:Dempa Micom Soft Analog/Digital Intelligent Controller System|Micom Soft Analog/Digital Controller]]&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8077</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8077"/>
		<updated>2022-06-25T22:47:09Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;mdc48&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8 (MDC 1.0.1).&lt;br /&gt;
** Supports monitor resolutions from 512×384 up to 11152×870 at up to 16 colors/grays (4 BPP), and up 640×480 at up to 256 colors/grays (8 BPP).  Supports monochrome and color 640×870 75 Hz portrait monitors.&lt;br /&gt;
** VRAM can be upgraded to 1 MB in the MAME’s Machine Configuration settings to support higher color modes, turning it into a Display Card 8•24.  You must do a hard reset or exit MAME before changes to the VRAM size take effect.&lt;br /&gt;
** Black &amp;amp; White (1 BPP), 4 colors/grays (2 BPP), 256 colors/grays and millions of colors (24 BPP) can be supported depending on the VRAM size.  Thousands of colors (15 BPP) is not supported.&lt;br /&gt;
** Millions of colors requires 32-bit QuickDraw (using the 32-Bit QuickDraw extension with System 6, included in System 7, or included in ROM from the Macintosh IIci onwards&lt;br /&gt;
* &#039;&#039;&#039;mdc824&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 Revision B (MDC 1.2).&lt;br /&gt;
** Supports monitor resolutions from 512×384 up to 11152×870 at up to 256 colors/grays (8 BPP), and up 640×480 at up to millions of colors (24 BPP).  Supports monochrome 640×870 75 Hz portrait monitors.&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the “Page-White Gamma” profile which affects white balance.  This can be changed in the Monitors control panel.&lt;br /&gt;
** VRAM can be downgraded to 512 kB in the MAME’s Machine Configuration settings with a corresponding loss of support for higher color modes, turning it into a Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
** Supports a 75 Hz 640×870 monochrome portrait monitor.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions from 512×384 up to 1024×768 at up to 256 colors/grays (8 BPP), and virtual desktop resolutions up to 4096×1536 depending on the color mode.&lt;br /&gt;
** Features hardware support for panning and zooming (zoom is not supported under System 7 or later).&lt;br /&gt;
** Use the SuperVideo control panel to configure screen resolution and refresh rate, virtual desktop resolution, and zoom controls.  Version 3 and later cannot be used to configure this card – use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.  The modes offered depend on the oscillators installed.  You can change one of the oscillators in the Machine Configuration menu.&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations in 8 BPP modes.&lt;br /&gt;
** The 32-Bit QuickDraw is required for color/grayscale modes (only Black &amp;amp; White is supported otherwise).&lt;br /&gt;
** Use the SuperVideo control panel to configure screen resolution and refresh rate, and acceleration.  Version 3 and later cannot be used to configure this card – use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** “Zap” the parameter RAM to force video mode selection on startup.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
If you select a resolution for a non-standard aspect ratio (e.g. a 3:4 full-page portrait monitor, or a square air traffic control monitor), you may need to change the view in the Video Options menu to see the screen image at the correct aspect ratio.&lt;br /&gt;
&lt;br /&gt;
For Apple video cards, the available resolutions, refresh rates and gamma/color profiles depend on the connected monitor.  You can change the monitor in the Machine Configuration menu.  You may need to do a hard reset or exit MAME and start the system again for monitor changes to apply.&lt;br /&gt;
&lt;br /&gt;
Most cards support changing the color mode using the Monitors control panel.  Some video cards allow changing the resolution and refresh in the Monitors control panel’s options dialog.  Select the monitor so it has a bold border and click the “Options…” button to see if the resolution and refresh rate can be changed.  Changes to the color mode apply immediately, but for most cards, you must restart the emulated system for changes to the resolution and refresh rate to apply.&lt;br /&gt;
&lt;br /&gt;
Some video cards provide gamma/color profile options.  To see these options, open the Monitors control panel, select the monitor so it has a bold border, hold the Option key so the “happy Mac” boot screen indicator appears, and click the “Options…” button.  Available gamma/color profile options appear in a list box on the left.  You must restart the emulated system for changes to the gamma/color profile to apply.&lt;br /&gt;
&lt;br /&gt;
High color modes require 32-bit QuickDraw.  This may be provided by installing the 32-bit QuickDraw extension on System 6.  It is also included with System 7, and provided in ROM with newer Macintosh models starting from the Macintosh IIci.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8076</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8076"/>
		<updated>2022-06-25T17:55:02Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;mdc48&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8 (MDC 1.0.1).&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 16 colors/grays (4 BPP), and up 640×480 at up to 256 colors/grays (8 BPP).&lt;br /&gt;
** VRAM can be upgraded to 1 MB in the MAME’s Machine Configuration settings to support higher color modes, turning it into a Display Card 8•24.&lt;br /&gt;
* &#039;&#039;&#039;mdc824&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 Revision B (MDC 1.2).&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 640×480 at up to millions of colors (24 BPP).&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the “Page-White Gamma” profile which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.&lt;br /&gt;
** VRAM can be downgraded to 512 kB in the MAME’s Machine Configuration settings with a corresponding loss of support for higher color modes, turning it into a Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8075</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8075"/>
		<updated>2022-06-25T00:07:33Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;mdc48&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
* &#039;&#039;&#039;mdc824&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the “Page-White Gamma” profile which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8074</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8074"/>
		<updated>2022-06-24T19:16:53Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the “Page-White Gamma” profile which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8073</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8073"/>
		<updated>2022-06-24T19:06:43Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the Page-White Gamma which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select “Uncorrected Gamma”, and click “OK” to apply the change and close the options dialog.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8072</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8072"/>
		<updated>2022-06-24T18:57:34Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** 21&amp;quot; and 16&amp;quot; color monitors default to the Page-White Gamma which affects white balance.  To change this, open the Monitors control panel, select the affected monitor so it has a bold border, hold Option so the “happy Mac” startup screen indicator shows, click the “Options…“ button to show the options dialog, turn on “Use Special Gamma”, select a different profile, and click “OK” to apply the change and close the options dialog.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8071</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8071"/>
		<updated>2022-06-24T18:43:01Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** Some monitors use an off-white palette (21&amp;quot; and 16&amp;quot; color monitors).&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8070</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8070"/>
		<updated>2022-06-23T20:56:18Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Configuring slots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** Monochrome monitors show intensity as levels of blue.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
** Supports monitor resolutions up to 11152×870 at up to 256 colors/grays (8 BPP), and up 11152×870 at up to millions of colors (24 BPP).&lt;br /&gt;
** Monochrome monitors show intensity as levels of blue, and some monitors use an off-white palette.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and currently supports these cards, all of which provide an external, larger monitor:&lt;br /&gt;
* &#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
* &#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
* &#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
* &#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8069</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8069"/>
		<updated>2022-06-23T11:20:11Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Supports monitor resolutions up to 1024×768 at up to 256 colors/grays (8 BPP), and supports virtual desktop resolutions up to 4096×1536 depending on the color mode, with hardware support for panning and zooming.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure virtual desktop resolution, zoom, and monitor type.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Zoom is not supported under System 7 or later.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
** Interlaced modes are not emulated properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Supports monitor resolutions up to 1152×870 at up to 256 colors/grays (8 BPP), with hardware accelerated fill and copy operations.&lt;br /&gt;
** The 32-Bit QuickDraw extension or System 7 is required for full functionality.&lt;br /&gt;
** Version 3 and later of the SuperVideo control panel cannot be used to configure monitor type and acceleration.  Use an earlier version of the SuperVideo control panel.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8068</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8068"/>
		<updated>2022-06-23T05:42:58Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480 and 512×384 modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8066</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8066"/>
		<updated>2022-06-22T21:06:52Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */ updated status op SuperMac Spectrum card emulation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** If you change the alternate oscillator option in the Machine Configuration settings, you must “zap” the parameter RAM in order for the new oscillator to be recognized.&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480 and 512×384 modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** Accelerated drawing is not fully emulated.  Either disable acceleration in the SuperVideo control panel or avoid using 256 color (8-bit) mode.&lt;br /&gt;
** Alternate oscillator calibration is not working properly.  The card will not detect the higher frequency oscillators.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8065</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8065"/>
		<updated>2022-06-22T21:00:49Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Models and Clones */  fixed some formatting errors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480 and 512×384 modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly. Measurement of the user-supplied oscillator frequency does not work properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** This video card is not working properly.  The CRTC, color depth selection, and 8-bit video acceleration are not fully emulated.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8064</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8064"/>
		<updated>2022-06-21T22:46:08Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Configuring slots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480 and 512×384 modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly. Measurement of the user-supplied oscillator frequency does not work properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** This video card is not working properly.  The CRTC, color depth selection, and 8-bit video acceleration are not fully emulated.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8062</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8062"/>
		<updated>2022-06-20T17:07:37Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480, 512×384, and 640×480i (NTSC) modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly.  Video clock source selection is not supported properly.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** This video card is not working properly.  The CRTC, color depth selection, and 8-bit video acceleration are not fully emulated.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8059</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8059"/>
		<updated>2022-06-20T00:16:13Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Video cards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple Macintosh Display Card 4•8.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple Macintosh Display Card 8•24 GC.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution Video Card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II Video Card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
** Firmware 1.3 is the default, firmware 1.2 can be selected as a BIOS option (like &#039;&#039;&#039;spec8s3,bios=ver12&#039;&#039;&#039;).&lt;br /&gt;
** Hold Option when starting the machine to force video mode selection.  Press the space bar when the desired video mode is shown.&lt;br /&gt;
*** Firmware 1.3 allows 1024×768, 832×624, 640×480, 512×384, and 640×480i (NTSC) modes to be selected.&lt;br /&gt;
*** Firmware 1.2 allows 1024×768, 832×624 and 640×480 modes to be selected.&lt;br /&gt;
** Interlaced modes are not supported properly.  Video clock source selection is not supported properly.&lt;br /&gt;
** Virtual desktop mode is not emulated at all.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
** This video card is not working properly.  The CRTC, color depth selection, and 8-bit video acceleration are not fully emulated.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8058</id>
		<title>Driver:Mac 68K</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Driver:Mac_68K&amp;diff=8058"/>
		<updated>2022-06-19T23:59:25Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: /* Some MAME basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Apple Macintosh series (Motorola 680x0-based) =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039; - This page is a Work In Progress!&lt;br /&gt;
&lt;br /&gt;
Designed by a team led by Steve Jobs, the Macintosh was Apple&#039;s follow-up to the Apple II series that finally stuck, after many attempts.  Macintosh computers are still being made today, albeit with very different hardware and software technology.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
For most of these machines, it is strongly recommended that you get a pre-installed hard drive image to boot from (look for the &amp;quot;Software List CHDs&amp;quot; collection from your favorite ROM provider).  Only the very early models were primarily floppy oriented.&lt;br /&gt;
&lt;br /&gt;
Here are some pre-installed images:&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac608.zip System 6.0.8]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac701.zip System 7.0.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac711.zip System 7.1.1]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac755.zip System 7.5.5]&lt;br /&gt;
* [http://rbelmont.mameworld.info/mac761.zip System 7.6.1]&lt;br /&gt;
&lt;br /&gt;
For these images, unzip them and run &#039;&#039;&#039;mame maciicx -hard1 mac608.chd&#039;&#039;&#039;, substituting the Mac model and System .chd names accordingly.&lt;br /&gt;
&lt;br /&gt;
If you want to go full DIY, you&#039;ll need to use your favorite search engine to find the &amp;quot;Apple Legacy Recovery&amp;quot; CD-ROM .iso and download it.&lt;br /&gt;
Or use [https://forums.bannister.org/ubbthreads.php?ubb=showflat&amp;amp;Number=119182#Post119182 this guide with screenshots].&lt;br /&gt;
&lt;br /&gt;
* Create a hard disk image however you like (on Linux/BSD/macOS &#039;&#039;&#039;dd if=/dev/zero of=myhdd.hdv bs=1000000 count=500&#039;&#039;&#039; will create a ~500 MB raw image, or on any system MAME runs on &#039;&#039;&#039;chdman createhd -c none -chs 1023,63,16 -o myhdd.chd&#039;&#039;&#039; will create a ~500 MB CHD image).&lt;br /&gt;
* Run &#039;&#039;&#039;mame maciici -ramsize 8M -hard1 (whatever your HDD is named) -cdrom (whatever the Legacy Recovery .iso is named)&#039;&#039;&#039;.&lt;br /&gt;
* When the system boots up, open the CD-ROM, then the Disk Utilities folder, then the &amp;quot;Formatting Software&amp;quot; folder.&lt;br /&gt;
* Run &amp;quot;Drive Setup 1.5&amp;quot; and select the HDD, which will appear as &amp;lt;uninitialized&amp;gt;, and proceed to initialize it.  It will appear on the desktop called &amp;quot;untitled&amp;quot;.  &lt;br /&gt;
* Quit Drive Setup, close the folders down to the CD-ROM&#039;s root, and open the Mac OS folder.&lt;br /&gt;
* Open the folder for the System version you&#039;re interested in and look for a &amp;quot;Net Install.scr&amp;quot; file.&lt;br /&gt;
* Double-click that and the installer will come up after a moment.&lt;br /&gt;
&lt;br /&gt;
Be sure to choose &amp;quot;System Software for all Macs&amp;quot; or &amp;quot;System Software for any Mac&amp;quot; so that the resulting installed HDD will work on any emulated Mac that supports the OS version. (7.6 requires 32-bit clean ROMs, which rules out systems earlier than the IIci, and 7.5 is sufficiently RAM-hungry that it&#039;s not great on machines like the Mac Plus with a 4 MiB RAM limit.&lt;br /&gt;
&lt;br /&gt;
== Some MAME basics ==&lt;br /&gt;
Emulated machines with keyboards like the Macintosh start up with almost all of the keys going to the emulated machine.  You can re-enable common MAME keys by pressing the &#039;&#039;&#039;UI Mode&#039;&#039;&#039; key, which by default is &#039;&#039;&#039;Scr Lock&#039;&#039;&#039; on Windows and Linux and &#039;&#039;&#039;forward-Delete&#039;&#039;&#039; on Macs (&#039;&#039;&#039;Fn-Delete&#039;&#039;&#039; on compact keyboards like MacBooks).  These keys were chosen precisely because they&#039;re very uncommon in emulated machines and therefore unlikely to cause problems, in case you&#039;re wondering why they&#039;re weird.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re in UI mode, these keys do useful things:&lt;br /&gt;
* &#039;&#039;&#039;Tab&#039;&#039;&#039; brings up the MAME menu, which allows you to change the machine configuration, swap floppy disks and CD-ROMs, and do other things.&lt;br /&gt;
* &#039;&#039;&#039;Esc&#039;&#039;&#039; exits.  If you have &#039;&#039;&#039;confirm_quit&#039;&#039;&#039; set to &amp;quot;0&amp;quot; in your mame.ini (as is the default), it will exit immediately.  Otherwise MAME will confirm that you want to exit.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt + Enter&#039;&#039;&#039; (&#039;&#039;&#039;Left-Option + Return&#039;&#039;&#039; on Macs) toggles full-screen and windowed mode, like in many PC games.&lt;br /&gt;
* &#039;&#039;&#039;P&#039;&#039;&#039; pauses and dims the screen slightly to indicate that you&#039;re paused.&lt;br /&gt;
* &#039;&#039;&#039;F3&#039;&#039;&#039; does a forced reset, and left shift + F3 does a &amp;quot;hard&amp;quot; reset, where MAME is torn completely down and restarted.  Hard resets are handy for getting some configuration options to take effect, or if you&#039;ve somehow really messed up the emulation.&lt;br /&gt;
* &#039;&#039;&#039;Left Shift + F7&#039;&#039;&#039; saves a save state, which freezes the current machine state and saves it to disk.  MAME will prompt for a save slot; you can press any alphanumeric key (0-9 and A-Z) for 36 slots.&lt;br /&gt;
* &#039;&#039;&#039;Plain F7&#039;&#039;&#039; loads a save state, with the same rules about the save slot.&lt;br /&gt;
* &#039;&#039;&#039;F12&#039;&#039;&#039; takes a screenshot.  This will be saved as a .PNG inside the &amp;quot;snap&amp;quot; folder by default, with a folder in the snap folder named after the machine, like &amp;quot;maciici&amp;quot; or &amp;quot;maclc3&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;~&#039;&#039;&#039; (tilde/backtick) brings up sliders so you can override the default balance between audio chips, adjust brightness and contrast, and other settings.  If you are running with the debugger enabled, ~ will instead freeze the machine and drop into the debugger.&lt;br /&gt;
&lt;br /&gt;
When you *aren&#039;t* in the UI mode, these keys are interesting:&lt;br /&gt;
* &#039;&#039;&#039;Right Alt or Option&#039;&#039;&#039; is the Command key.&lt;br /&gt;
* &#039;&#039;&#039;Left Alt or Option&#039;&#039;&#039; is the Option key.&lt;br /&gt;
&lt;br /&gt;
== Models and Clones ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 128K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac128k&#039;&#039;)&lt;br /&gt;
::- The original machine.  Includes a 68000 CPU, 128K of RAM, an integrated 9&amp;quot; black and white CRT monitor with a resolution of 512x384 pixels, a 3.5&amp;quot; single-sided 400K floppy drive, two serial ports, a keyboard, and a mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512K&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512k&#039;&#039;)&lt;br /&gt;
::- The so-called &amp;quot;Fat Mac&amp;quot;.  Identical to the 128K, but with 512K of RAM as the name suggests.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Plus&#039;&#039;&#039; (1986 - driver name &#039;&#039;macplus&#039;&#039;)&lt;br /&gt;
::- The first significant update to the Mac.  Comes with 1MB of RAM and SIMM slots to expand up to 4MB, replaces the single-sided floppy drive with a double-sided 800K unit, and adds a SCSI port for hard disks and CD-ROMs.  Everything else is the same.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh 512KE&#039;&#039;&#039; (1984 - driver name &#039;&#039;mac512ke&#039;&#039;)&lt;br /&gt;
::- A Macintosh 512K, but with the newer ROMs from the Macintosh Plus and an 800K double-sided floppy disk drive .&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE&#039;&#039;&#039; (1987 - driver name &#039;&#039;macse&#039;&#039;)&lt;br /&gt;
::- A further evolution of the Macintosh Plus, with a cost-reduced motherboard, a processor-direct slot for a single expansion card, and introducing the Apple Desktop Bus (ADB) that debuted on the Apple IIgs to connect the keyboard and mouse.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE FDHD&#039;&#039;&#039; (1987 - driver name &#039;&#039;macsefd&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE, but replacing the floppy controller chip with the new SWIM (Sander/Wozniak Integrated Machine) chip and the 800K double-sided floppy drive with a 1.44MB &amp;quot;SuperDrive&amp;quot;, which can also read and write the older 400K and 800K disks, as well as MS DOS-format 720K and 1.44MB disks.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic&#039;&#039;&#039; (1990 - driver name &#039;&#039;macclasc&#039;&#039;)&lt;br /&gt;
::- Same as the Macintosh SE FDHD, but cost-reduced even further, primarily by removing the processor-direct slot once again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II&#039;&#039;&#039; (1987 - driver name &#039;&#039;macii&#039;&#039;)&lt;br /&gt;
::- The first major redesign of the Macintosh.  Includes a 15 MHz 68020 processor, SIMMs to expand up to 128MB of RAM, 6 NuBus slots, a built-in 800K double-sided floppy drive, and a built-in SCSI hard disk.  Capable of color and of having multiple video cards and monitors connected.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh II FDHD&#039;&#039;&#039; (1988 - driver name &#039;&#039;mac2fdhd&#039;&#039;)&lt;br /&gt;
::- A Macintosh II with the same upgrades as the Macintosh SE FDHD - the new SWIM floppy controller and 1.44MB &amp;quot;SuperDrive&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIx&#039;&#039;&#039; (1988 - driver name &#039;&#039;maciix&#039;)&lt;br /&gt;
::- A Macintosh II FDHD with the processor replaced by a 15 MHz 68030.  The 68030 is faster than the 68020 at the same clock and includes on-board memory management and floating-point acceleration.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIcx&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciicx&#039;)&lt;br /&gt;
::- A Macintosh IIx in a more compact case with fewer NuBus slots.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh SE/30&#039;&#039;&#039; (1989 - driver name &#039;&#039;macse30&#039;)&lt;br /&gt;
::- A Macintosh IIx in the same case as the original Macs with the same 9&amp;quot; 512x384 CRT monitor.  Has no NuBus slots but does have a single processor-direct slot for expansion.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIci&#039;&#039;&#039; (1989 - driver name &#039;&#039;maciici&#039;)&lt;br /&gt;
::- A Macintosh IIcx in a more rounded case with on-board color video and a slightly faster processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIsi&#039;&#039;&#039; (1990 - driver name &#039;&#039;maciisi&#039;)&lt;br /&gt;
::- A Macintosh IIci with a cost-reduced motherboard, using the new &amp;quot;Egret&amp;quot; microcontroller for ADB and PRAM.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvx&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivx&#039;)&lt;br /&gt;
::- A Macintosh IIsi in a larger case with a built-in CD-ROM drive (not currently supported) and a 33 MHz 68030 processor.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh IIvi&#039;&#039;&#039; (1993 - driver name &#039;&#039;maciivi&#039;)&lt;br /&gt;
::- A Macintosh IIvx with a 16 MHz 68030 processor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC&#039;&#039;&#039; (1990 - driver name &#039;&#039;maclc&#039;)&lt;br /&gt;
::- A cost-reduced Macintosh IIsi with a 15 MHz 68020 processor and a processor-direct slot in a pizza-box style case.  Limited to 10 MB of RAM total.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC II&#039;&#039;&#039; (1991 - driver name &#039;&#039;maclc2&#039;)&lt;br /&gt;
::- A Macintosh LC with a 15 MHz 68030 processor instead of the 68020.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh LC III&#039;&#039;&#039; (1993 - driver name &#039;&#039;maclc3&#039;)&lt;br /&gt;
::- A (much faster) Macintosh LC with a 25 MHz 68030 processor, more capable on-board video, and the RAM expansion limit lifted.&lt;br /&gt;
* &#039;&#039;&#039;Macintosh Classic II&#039;&#039;&#039; (1991 - driver name &#039;&#039;macclas2&#039;)&lt;br /&gt;
::- A Macintosh LC II in an SE/30 style case with the 9&amp;quot; monochrome 512x384 CRT monitor.&lt;br /&gt;
&lt;br /&gt;
== The default configurations ==&lt;br /&gt;
&lt;br /&gt;
* mac128k, mac512k, mac512ke: as shipped, with 128k or 512k of RAM.&lt;br /&gt;
* macplus, macse, macsefd, macclasc: Maxxed out with 4MB of RAM by default.&lt;br /&gt;
* macii, maciix, maciicx: 2MB of RAM, which is sufficient for System 6.0.8 but 7.5 will need more.&lt;br /&gt;
* maclc: 2MB of RAM.&lt;br /&gt;
* maclc2, maclc3, mcciivx, maciivi: 4MB of RAM.&lt;br /&gt;
&lt;br /&gt;
== The configuration switches ==&lt;br /&gt;
&lt;br /&gt;
== Configuring slots ==&lt;br /&gt;
&lt;br /&gt;
To find out what a version of MAME supports for configurable slot and port devices, run MAME with the &#039;&#039;&#039;-listslots&#039;&#039;&#039; parameter on the commandline.  Some Macs have no slots, some have up to 6.  NuBus slots use the command line convention nbX, where X is the slot&#039;s name, usually 9, a, b, c, d, or e.&lt;br /&gt;
&lt;br /&gt;
* macii and maciix have 6 NuBus slots: nb9, nba, nbb. nbc, nbd, and nbe.&lt;br /&gt;
* maciicx has 3 NuBus slots: nb9, nba, and nbb.&lt;br /&gt;
* maciici, maciivx, and maciivi all have 3 NuBus slots,  nbc, nbd, and nbe.&lt;br /&gt;
&lt;br /&gt;
*macse has a processor-direct slot called pds.&lt;br /&gt;
*macse30 has a processor-direct slot called pds030.&lt;br /&gt;
&lt;br /&gt;
To empty a slot which has a card in it by default, use the -sl switch for the slot followed by two double quotes.  For instance, to remove the default video card in slot 9 on a Mac II, you&#039;d type &#039;&#039;&#039;-nb9 &amp;quot;&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
NuBus slots support all of these cards:&lt;br /&gt;
=== Video cards ===&lt;br /&gt;
* &#039;&#039;&#039;48gc&#039;&#039;&#039; is the Apple 4*8 GC video card.&lt;br /&gt;
* &#039;&#039;&#039;824gc&#039;&#039;&#039; is the Apple 8*24 video card.&lt;br /&gt;
* &#039;&#039;&#039;cb264&#039;&#039;&#039; is the  RasterOps ColorBoard 264 video card.&lt;br /&gt;
* &#039;&#039;&#039;laserview&#039;&#039;&#039; is the Sigma Designs LaserView video card.&lt;br /&gt;
* &#039;&#039;&#039;m2hires&#039;&#039;&#039; is the Apple Macintosh II High Resolution video card.&lt;br /&gt;
* &#039;&#039;&#039;m2video&#039;&#039;&#039; is the Apple Macintosh II video card.&lt;br /&gt;
* &#039;&#039;&#039;portrait&#039;&#039;&#039; is the Apple Macintosh II Portrait video card.&lt;br /&gt;
* &#039;&#039;&#039;radiustpd&#039;&#039;&#039; is the Radius Two-Page Display video card.&lt;br /&gt;
* &#039;&#039;&#039;spec8s3&#039;&#039;&#039; is the SuperMac Spectrum/8 Series III video card.&lt;br /&gt;
* &#039;&#039;&#039;specpdq&#039;&#039;&#039; is the SuperMac Spectrum PDQ video card.&lt;br /&gt;
* &#039;&#039;&#039;vikbw&#039;&#039;&#039; is the Moniterm Viking monochrome high-resolution video card.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet cards ===&lt;br /&gt;
* &#039;&#039;&#039;asmc3nb&#039;&#039;&#039; is the Asante MC3NB Ethernet card.&lt;br /&gt;
* &#039;&#039;&#039;enetnb&#039;&#039;&#039; is the Apple NuBus Ethernet card.&lt;br /&gt;
&lt;br /&gt;
=== Misc. cards ===&lt;br /&gt;
* &#039;&#039;&#039;bootbug&#039;&#039;&#039; is a debugger card which adds an interactive debugger display terminal.&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; is a MAME-specific card that lets you access hard disk images which don&#039;t have partition tables.  These are commonly created and used by emulators including  Mini vMac, Basilisk II, and SheepShaver that don&#039;t emulate the Macintosh&#039;s SCSI subsystem but instead patch out the ROMs to perform disk I/O.  Currently this device is limited to images up to 256 megabytes in size.&lt;br /&gt;
&lt;br /&gt;
=== Communications cards ===&lt;br /&gt;
* &#039;&#039;&#039;quadralink&#039;&#039;&#039; is the Applied Engineering QuadraLink, which gives you 4 additional serial ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Processor-Direct and other non-NuBus cards ===&lt;br /&gt;
The Mac SE&#039;s processor-direct slot is named &#039;&#039;&#039;pds&#039;&#039;&#039; and supports one card currently:&lt;br /&gt;
*&#039;&#039;&#039;radiusfpd&#039;&#039;&#039; Radius SE Full-Page Display (this adds an external higher-resolution display to the SE)&lt;br /&gt;
&lt;br /&gt;
The Mac SE/30&#039;s processor-direct slot is named &#039;&#039;&#039;pds030&#039;&#039;&#039; and supports these cards, all of which currently provide an external, larger monitor:&lt;br /&gt;
*&#039;&#039;&#039;30hr&#039;&#039;&#039; Micron/XCEED Technology Color 30HR&lt;br /&gt;
*&#039;&#039;&#039;cb264&#039;&#039;&#039; RasterOps ColorBoard 264/SE30&lt;br /&gt;
*&#039;&#039;&#039;lview&#039;&#039;&#039; Sigma Designs L-View&lt;br /&gt;
*&#039;&#039;&#039;mc30&#039;&#039;&#039; Micron/XCEED Technology MacroColor 30&lt;br /&gt;
*&#039;&#039;&#039;pc816&#039;&#039;&#039; Lapis ProColor Server 8*16&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;-ramsize&#039;&#039;&#039; switch controls the amount of RAM on most Macs.&lt;br /&gt;
* macii, maciix, maciicx, and macse30 can be set to 2M, 8M, 32M, 64M, 96M, or 128M.&lt;br /&gt;
* maclc, maclc2, and macclas2 can be set to 2M, 4M, 6M, 8M, or 10M.&lt;br /&gt;
* maclc3 can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 80M.&lt;br /&gt;
* maciivx and maciivi can be set to 4M, 8M, 12M, 16M, 20M, 24M, 28M, 32M, 36M, 40M, 44M, 48M, 52M, 56M, 60M, or 64M.&lt;br /&gt;
* maciici and maciisi can be set to 4M, 8M, 16M, 32M, 48M, 64M, or 128M.&lt;br /&gt;
&lt;br /&gt;
To see what kinds of disk and other images are accepted for a given configuration, use the &#039;&#039;&#039;-listmedia&#039;&#039;&#039; option alongside whatever slot cards you want to use.  Most Macs have at least one -hard / -harddisk option, and a -flop1 for a floppy drive.&lt;br /&gt;
&lt;br /&gt;
Note that some cards add configurable slots or ports of their own.  You can see those by adding the card and appending &#039;&#039;&#039;-listslots&#039;&#039;&#039; to the end of the command line.&lt;br /&gt;
&lt;br /&gt;
==A note about hard drive and CD-ROM images==&lt;br /&gt;
&lt;br /&gt;
MAME versions before 0.214 were only able to use images that had been converted to MAME&#039;s own CHD format.  This is no longer the case.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=SDL_Supported_Platforms&amp;diff=8014</id>
		<title>SDL Supported Platforms</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=SDL_Supported_Platforms&amp;diff=8014"/>
		<updated>2022-04-29T17:39:55Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: Updated some of the links.  Some of the &amp;quot;regularly updated&amp;quot; links should probably be moved to &amp;quot;discontinued&amp;quot; at this point.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are downloads for MAME/MESS on non-Windows platforms including Mac OS X, Linux, and BSD family operating systems.&lt;br /&gt;
&lt;br /&gt;
Technical support for MAME on non-Windows platforms and for MESS on all platforms is available on [http://forums.bannister.org/ the bannister.org forums].&lt;br /&gt;
&lt;br /&gt;
== Source code download ==&lt;br /&gt;
&lt;br /&gt;
The following links are for source code, either pre-packaged by MAMEDev or you can simply clone/fork us on Github to follow the team&#039;s progress in real-time.  Download these if you&#039;d like to learn to develop for MAME/MESS, or if you know how to build the emulator and just want to follow along quickly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| MAME releases (source and Windows binaries) || http://mamedev.org/release.html&lt;br /&gt;
|-&lt;br /&gt;
| MAME source code repository on GitHub || https://github.com/mamedev/mame&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Instructions for building MAME on several platforms, including macOS and some popular Linux distributions, are available [https://docs.mamedev.org/initialsetup/compilingmame.html here].&lt;br /&gt;
&lt;br /&gt;
== Regularly Updated binaries and packages (usually within a few versions of baseline) ==&lt;br /&gt;
&lt;br /&gt;
These links are for binaries and/or distribution packages for Mac OS X, the BSD family, and a variety of popular Linux distributions.  Download these if you can&#039;t or don&#039;t wish to build MAME and don&#039;t mind waiting for the next release date to see progress.&lt;br /&gt;
&#039;&#039;&#039;Please Note&#039;&#039;&#039;:  In all source release versions starting with 0.162, MAME is a binary which consists the entirety of source (including the former MESS project).  As a result, MESS links here will likely only be available up to 0.161 with anything beyond expected to be obtained at the MAME link.  For the time being, old MESS can be compiled using &amp;quot;SUBTARGET=mess&amp;quot; while older MAME (arcade only) can be made with &amp;quot;SUBTARGET=arcade&amp;quot;.  Support for these older styles of binaries will be discontinued in the near future.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Target OS/Platform !! Build Target !! URL&lt;br /&gt;
|-&lt;br /&gt;
| Apple macOS Intel || MAME || https://sdlmame.lngn.net ,  https://ports.macports.org/port/mame/summary&lt;br /&gt;
|-&lt;br /&gt;
| Arch Linux || MAME || https://www.archlinux.de/packages/community/x86_64/mame , https://aur.archlinux.org/packages/mame-git/&lt;br /&gt;
|-&lt;br /&gt;
| Debian || MAME || http://packages.debian.org/search?keywords=mame&lt;br /&gt;
|-&lt;br /&gt;
| Fedora || MAME || https://apps.fedoraproject.org/packages/mame&lt;br /&gt;
|-&lt;br /&gt;
| FreeBSD || MAME || https://www.freshports.org/emulators/mame/ , https://svnweb.freebsd.org/ports/head/emulators/mame/&lt;br /&gt;
|-&lt;br /&gt;
| FreeBSD || MESS || https://www.freshports.org/emulators/mess/ , https://svnweb.freebsd.org/ports/head/emulators/mess/&lt;br /&gt;
|-&lt;br /&gt;
| General Linux Package Search || MAME || https://pkgs.org/download/mame , https://pkgs.org/download/sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| Gentoo/Funtoo Linux || MAME/MESS || http://gpo.zugaina.org/games-emulation/sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| Mageia || MAME || https://madb.mageia.org/package/show/name/mame/release/cauldron/application/0&lt;br /&gt;
|-&lt;br /&gt;
| NetBSD || MAME || http://pkgsrc.se/emulators/mame , https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/emulators/mame/README.html&lt;br /&gt;
|-&lt;br /&gt;
| OpenBSD || MAME || http://openports.se/emulators/mame&lt;br /&gt;
|-&lt;br /&gt;
| OpenMandriva || SDLMAME || https://pkgs.org/download/sdlmame , https://abf.openmandriva.org/openmandriva/sdlmame/build_lists&lt;br /&gt;
|-&lt;br /&gt;
| OpenSUSE || MAME/MESS || https://software.opensuse.org/package/mame and https://software.opensuse.org/package/mame-mess&lt;br /&gt;
|-&lt;br /&gt;
| Raspbian || MAME || https://stickfreaks.com/mame/&lt;br /&gt;
|-&lt;br /&gt;
| Slackware || MAME/MESS || http://sourceforge.net/projects/mameforslack&lt;br /&gt;
|-&lt;br /&gt;
| Solus || MAME || https://pkgs.org/download/mame&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu || MAME || http://sdlmame.wallyweek.org/repository/&lt;br /&gt;
|-&lt;br /&gt;
| Void Linux || MAME || https://github.com/void-linux/void-packages/tree/master/srcpkgs/mame&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Discontinued/Irregularly Updated ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Target OS/Platform !! Build Target !! URL&lt;br /&gt;
|-&lt;br /&gt;
| Apple Macintosh OS X PowerPC (10.5) || SDLMAME || https://www.mediafire.com/folder/07r0cvcq1i39g/OSX_PPC_10.5_%28SDL2%29&lt;br /&gt;
|-&lt;br /&gt;
| CentOS || SDLMAME || http://repoforge.org/use/  -  Follow directions at &amp;quot;Using RepoForge&amp;quot; then choose desired package&lt;br /&gt;
|-&lt;br /&gt;
| Debian || MESS || http://packages.debian.org/search?keywords=mess&lt;br /&gt;
|-&lt;br /&gt;
| General Linux Package Search || MESS/SDLMESS || https://pkgs.org/download/mess , https://pkgs.org/download/sdlmess&lt;br /&gt;
|-&lt;br /&gt;
| Google Native Client || MAME || https://chrome.google.com/webstore/detail/kcfbijoldkenmemnbbkjnpdhnijgahck , http://web.archive.org/web/20120603114635/https://developers.google.com/native-client/community/porting/MAME&lt;br /&gt;
|-&lt;br /&gt;
| NetBSD || MESS || http://pkgsrc.se/emulators/mess&lt;br /&gt;
|-&lt;br /&gt;
| OpenBSD || SDLMAME || http://openports.se/emulators/sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| OpenBSD || SDLMESS || http://openports.se/emulators/sdlmess&lt;br /&gt;
|-&lt;br /&gt;
| OpenMandriva || SDLMESS || https://pkgs.org/download/sdlmess&lt;br /&gt;
|-&lt;br /&gt;
| OS/2 Warp || SDLMAME || https://hobbes.nmsu.edu/?search=sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| PCLinuxOS || SDLMAME || https://pkgs.org/download/sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| PCLinuxOS || MESS/SDLMESS || https://pkgs.org/download/mess , https://pkgs.org/download/sdlmame&lt;br /&gt;
|-&lt;br /&gt;
| ROSA || SDLMESS || https://pkgs.org/download/sdlmess&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu || MESS || https://pkgs.org/download/mess&lt;br /&gt;
|-&lt;br /&gt;
| YellowDogLinux 6.2 / Playstation 3 || SDLMAME || https://emulationrealm.net/downloads/file/1509-sdlmame-intermediate-ps3&lt;br /&gt;
|-&lt;br /&gt;
| YellowDogLinux 6.2 / Playstation 3 || SDLMESS || https://emulationrealm.net/downloads/file/1462-sdlmess-ps3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Targets for which MAME/MESS have been known to exist, but have custom OSDs/Interfaces ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Target OS/Platform&lt;br /&gt;
|-&lt;br /&gt;
| Android (ARM)&lt;br /&gt;
|-&lt;br /&gt;
| Apple iOS&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft XBOX / XBOX 360 / XBOX One&lt;br /&gt;
|-&lt;br /&gt;
| Nintendo Wii (PowerPC) / Wii U / Switch&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=Layouts_and_Rendering_for_MAME_Artwork_System&amp;diff=7372</id>
		<title>Layouts and Rendering for MAME Artwork System</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=Layouts_and_Rendering_for_MAME_Artwork_System&amp;diff=7372"/>
		<updated>2020-10-08T03:42:53Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAME 0.106u2 introduced a major change that needs a more detailed description, the concept of layouts and views.&lt;br /&gt;
&lt;br /&gt;
As a simplistic explanation, layouts are the replacement for the artwork description files (.art) that were previously used to describe artwork to be displayed with a game. However, layouts are much more flexible and much more deeply integrated into the rendering system than the artwork files ever were. You literally can&#039;t run the new renderer without a layout loaded.&lt;br /&gt;
&lt;br /&gt;
A layout consists of two parts: a list of zero or more element definitions, and a list of one or more views. The elements represent a sort of library of artwork pieces that can be assembled in various ways. The views represent the actual positioning of these elements relative to the system screens. The easiest way to understand this is to look at the simplest example, which is the default layout used for regular horizontal 4:3 screens:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;view name=&amp;quot;Standard&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;bounds left=&amp;quot;0&amp;quot; top=&amp;quot;0&amp;quot; right=&amp;quot;4&amp;quot; bottom=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/screen&amp;gt;&lt;br /&gt;
     &amp;lt;/view&amp;gt;&lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This particular layout has no elements described, and only a single view. The name of the view is “Standard”. This is important because there is a menu in the UI that lets you select on-the-fly which view to display, and this is the name that is displayed in that menu. Within the view, there can be a two kinds of items:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;elements&#039;&#039;&#039; specify the attributes of elements defined in the layout XML data.&lt;br /&gt;
* &#039;&#039;&#039;screens&#039;&#039;&#039; specify the attributes of the various screens that make up a game; they are referenced by index or tag.&lt;br /&gt;
&lt;br /&gt;
Everything in the new system is rendered back-to-front, in the order specified in the layout XML data.&lt;br /&gt;
&lt;br /&gt;
Looking back at the example, you can see that a single item has been specified for our view, which is screen index 0 (this will be the first screen in the system). Within the item are some parameters that describe the bounds of the screen within the view. You&#039;ll notice that the width of the screen is 4 and the height is 3, this is a fairly arbitrary coordinate system. The layout system will read all the items described, and compute the outer bounds of all of the rectangles specified. It will then scale that to fit whatever screen you have configured. Thus, you can specify your coordinates in pixels or whatever is most convenient. The key here is that the screen as described is a standard 4:3 aspect ratio screen oriented horizontally.&lt;br /&gt;
&lt;br /&gt;
Now, if you&#039;re familiar with the old artwork system, you may be scratching your head and thinking, why do we have to specify the aspect ratio of the screen? In the old system, the screen was always positioned from (0,0)-(1,1) and the aspect ratio of the screen (and the resulting artwork) was determined by flags in the game. This is true, and in retrospect, was a mistake. Not only did it make things confusing for positioning purposes, but it meant a lot of the artwork needed to be rotated and tweaked so that it stretched correctly. In addition, in the new world, there is nothing preventing you from having one screen rotated vertically and a second screen rotated horizontally, all within the same view (and yes, there is at least one dual-monitor game that is set up that way).&lt;br /&gt;
&lt;br /&gt;
The next obvious question is, so are we going to need files for all these layouts, even the standard ones? The answer is no. The layout system will load a number of layouts from different sources, and offer you the option of switching between all of the views specified by all of the interesting layouts. The search order is:&lt;br /&gt;
&lt;br /&gt;
# Explicitly-specified override files (on the command line or in INI files)&lt;br /&gt;
# &#039;&#039;systemname&#039;&#039; (if not overridden)&lt;br /&gt;
# System- and device-specific built-in layouts (if not overridden)&lt;br /&gt;
# &#039;&#039;parentname&#039;&#039; (if not overridden and artwork for &#039;&#039;systemname&#039;&#039; was not found)&lt;br /&gt;
# &#039;&#039;biosname&#039;&#039; (if not overridden)&lt;br /&gt;
# Explicitly-specified fallback files (on the command line or in INI files, only if no system artwork has been found yet)&lt;br /&gt;
# Automatically generated layouts depending on number of screens&lt;br /&gt;
&lt;br /&gt;
The key are the built-in and automatically generated layouts. First, each system can specify a built-in layout as a parameter to the new GAMEL macro, which mimics the existing GAME macro but takes a final parameter that references the system-specific built-in layout, and any device or system can specify a built-in layout in its machine configuration.&lt;br /&gt;
&lt;br /&gt;
Second, MAME automatically generates a number of layouts. By default, each screen in the system gets a Standard layout, which is simply a single screen displayed at its appropriate aspect ratio. Each screen in the system that doesn’t have square pixels also gets a Pixel Aspect layout, which is a single screen displayed 1:1 with the height/width ratio of the pixels. This can be useful for testing purposes.&lt;br /&gt;
Multi-screen systems get additional options for displaying all screens in a row, column or grid.&lt;br /&gt;
And finally, just for kicks, single-screen and dual-screen systems get a “cocktail” layout.  For single-screen systems, it displays two copies of screen 0, one rotated 180° for a pseudo-cocktail view; for dual-screen systems it displays screen 1 above screen 0, rotated 180° for a pseudo-cocktail view. How is that done? With a layout something like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;view name=&amp;quot;Cocktail&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;bounds left=&amp;quot;-1.33333&amp;quot; top=&amp;quot;0.0&amp;quot; right=&amp;quot;0.0&amp;quot; bottom=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/screen&amp;gt;&lt;br /&gt;
         &amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;bounds left=&amp;quot;0.01&amp;quot; top=&amp;quot;0.0&amp;quot; right=&amp;quot;1.34333&amp;quot; bottom=&amp;quot;1.0&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;orientation rotate=&amp;quot;180&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/screen&amp;gt;&lt;br /&gt;
     &amp;lt;/view&amp;gt;&lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You”ll notice a couple of interesting things here. The first is that you can repeat the same screen multiple times in a view. For fun, you could even create a “quad” view that displays the screen four times rotated in all four directions.  The second is that you can specify an orientation for screens and actually for any item.  This allows rotation and flipping of items, and even works with vector monitors or other special cases.  Finally, you see how the coordinate system really is arbitrary. Here we&#039;re using 1.333 as the width of each screen and 1.0 as the height.  This is the essentially the same as 4:3.&lt;br /&gt;
&lt;br /&gt;
The [https://docs.mamedev.org/techspecs/layout_files.html layout file format documentation] is available on the MAMEdev documentation web site, and you can [https://git.redump.net/mame/tree/src/mame/layout browse the internal layouts] in MAME’s source code.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7371</id>
		<title>LAY File Basics - Part I</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7371"/>
		<updated>2020-10-07T15:48:52Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A layout file (LAY file) describes objects to draw when running a particular system in XML format.  The [https://docs.mamedev.org/techspecs/layout_files.html layout file format documentation] is available on the MAMEdev documentation web site.&lt;br /&gt;
&lt;br /&gt;
Systems that only have simple arrangements of screens generally use automatically-generated layouts.  Systems that need more complex screen arrangements or additional interactive elements use internal layout files.  You can [https://git.redump.net/mame/tree/src/mame/layout browse the internal layouts] in MAME’s source code.&lt;br /&gt;
&lt;br /&gt;
All external artwork utilizes layout files to tell MAME where to put all of the different artwork pieces and screens (if applicable).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ELEMENTS ===&lt;br /&gt;
&lt;br /&gt;
MAME can utilize any of the following different types of “components” in a layout file:&lt;br /&gt;
&lt;br /&gt;
* External image files&lt;br /&gt;
** The image must be in PNG, JPEG, Windows DIB (BMP) or SVG format&lt;br /&gt;
**  It can be any size; typically, bigger is better (assuming the original image was already sharp) – the high-quality artwork being used today is typically 4000 pixels wide.&lt;br /&gt;
** A bezel artwork file (the type which surrounds the game screen), should have a center window with an alpha transparency value of zero (i.e. the middle should be “see-through”).&lt;br /&gt;
** Only external artwork files can use image files (unless you edit the source for your own personal MAME build; more on that later).&lt;br /&gt;
* Internally Rendered Elements&lt;br /&gt;
** Rectangle&lt;br /&gt;
*** A colored square or rectangle.&lt;br /&gt;
** Disk&lt;br /&gt;
*** Just like above, except instead of a square/rectangle, you have a circle/oval.&lt;br /&gt;
** Multi-segment LED display&lt;br /&gt;
*** Some games utilized LEDs, like on a calculator.  If a game supports these in its MAME driver, then these will work accordingly.  If not, then the LED will just display garbage.&lt;br /&gt;
*** MAME has internal support for standard 7-segement displays, and multiple types of 14-segment and 16-segment displays&lt;br /&gt;
** Text&lt;br /&gt;
*** You can even display text as an element, using MAME’s default UI font.  This is typically used for button/LED labels in internal layout files.&lt;br /&gt;
&lt;br /&gt;
For all internally rendered components, you must define the ARGB (alpha, red, green, blue) color of the element, using channel values from zero to one.  So for example, where the 8-bit-per-channel RGB value of orange is (255, 127, 0), this would be represented in the layout file as (1.0, 0.5, 0.0).&lt;br /&gt;
&lt;br /&gt;
“Elements” are built up from components.  An element is drawn as a single textured rectangular surface in the final scene graph.  The components are drawn into the element texture using alpha blending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VIEWS ===&lt;br /&gt;
&lt;br /&gt;
Each layout file must have at least one defined “view” to tell MAME how to position all of the different elements and screens.  Each item in a view must include:&lt;br /&gt;
&lt;br /&gt;
* An opening tag, where you specify the element you’re using, the blending mode, and I/O bindings for the element.&lt;br /&gt;
* A closing tag, which states that you are done defining that object.&lt;br /&gt;
&lt;br /&gt;
An item may also include:&lt;br /&gt;
&lt;br /&gt;
* An animate element specifying separate I/O bindings for the item.&lt;br /&gt;
* A bounds element specifying the position and size of the item, or multiple bounds elements for parameter animation.&lt;br /&gt;
* A color element allowing the item’s color to be modified by RGB multiplication, or multiple color elements for parameter animation.&lt;br /&gt;
&lt;br /&gt;
Each object within a view must either be a &#039;&#039;screen&#039;&#039;, or can be an element defined at the beginning of the layout file as shown above, instantiated with an &#039;&#039;element&#039;&#039; element.&lt;br /&gt;
&lt;br /&gt;
* Screen&lt;br /&gt;
** The screen shows the image on an emulated screen or video output.&lt;br /&gt;
** The screen is the playable game screen.  The beginning tag for this in a single-screen system is: &lt;br /&gt;
*** &amp;amp;lt;screen index=&amp;quot;0&amp;quot;&amp;amp;gt;&lt;br /&gt;
** The value of “index” is the zero-based index of the screen in the system.  For systems that have one screen, this value will always be zero  If a system has two screens, the value for the second screen would be &amp;quot;1&amp;quot;, and so on.&lt;br /&gt;
** The screen can also be specified by “tag” using its tag, relative to the device that loaded the layout.  This is most useful for internal layouts for devices that are used as parts of larger systems.&lt;br /&gt;
** If a system has multiple screens, you can choose to only display one of the screens, if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Element&lt;br /&gt;
** Instantiates an element defined earlier in the layout file.  By default, elements are drawn with alpha blending; the blending mode can be overridden with a “blend” attribute.  The following blending modes are supported:&lt;br /&gt;
*** Alpha blending (alpha):&lt;br /&gt;
**** The element will be drawn with alpha blending, and will obscure any elements/screens instantiated earlier in the view.&lt;br /&gt;
*** Additive blending (add):&lt;br /&gt;
**** This is useful for backdrops.  Many arcade games from the ’70s and ’80s utilized a cabinet where the monitor was laid down, and reflected to the player by a semi-silvered mirror, with backdrop artwork sitting behind the mirror.  This gave the effect of a much cooler looking-game, back when the hardware was more simple.  To get this effect, you can place the backdrop over the screen and specify additive blending, or vice versa.&lt;br /&gt;
*** RGB multiply (multiply):&lt;br /&gt;
**** This is useful for translucent overlays.  Again, in the early days, some games that used black-and-white monitors had color gel overlays placed on top of the monitor to give the game some color.  To get this effect, you can place the overlay over the screen and specify RGB multiplication.&lt;br /&gt;
&lt;br /&gt;
For each item in a view, you need to define the “bounds” to tell MAME what coordinates to use to place the item.  If you think back to geometry in school, think about when you did graphing.  The x-axis is horizontal, the width, left to right; the y-axis is vertical, the height, top to bottom.  Where x and y cross is (0, 0).  As you go to the right, numbers get bigger (like geometry); as you go down, numbers get bigger (the opposite of geometry).&lt;br /&gt;
&lt;br /&gt;
There are two ways that you can define the “bounds” for an element:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;bounds x=&amp;quot;*&amp;quot; y=&amp;quot;*&amp;quot; width=&amp;quot;*&amp;quot; height=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;width&amp;quot; and &amp;quot;height&amp;quot; are the width and height of the object.&lt;br /&gt;
* &amp;amp;lt;bounds left=&amp;quot;*&amp;quot; top=&amp;quot;*&amp;quot; right=&amp;quot;*&amp;quot; bottom=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;left&amp;quot; and &amp;quot;top&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;right&amp;quot; and &amp;quot;bottom&amp;quot; are the coordinates of the bottom right corner of the object.&lt;br /&gt;
&lt;br /&gt;
Either way works; it&#039;s just a matter of personal preference.  I use the first way, as I already know the size of each element I&#039;m using.  In addition, it&#039;s easier to make adjustments to move things around; you just change &amp;quot;x and y,&amp;quot; leaving the width and height the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== YOUR FIRST LAYOUT FILE ===&lt;br /&gt;
&lt;br /&gt;
We’ll start out by doing a simple layout file for an artwork bezel.  First, here&#039;s the code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- vanguard.lay --&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;element name=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;image file=&amp;quot;vanguard_bezel.png&amp;quot; /&amp;gt;&lt;br /&gt;
 	&amp;lt;/element&amp;gt;&lt;br /&gt;
 	&amp;lt;view name=&amp;quot;Upright Artwork&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;1060&amp;quot; y=&amp;quot;790&amp;quot; width=&amp;quot;1920&amp;quot; height=&amp;quot;2560&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/screen&amp;gt;&lt;br /&gt;
 		&amp;lt;element ref=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;4000&amp;quot; height=&amp;quot;3810&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/bezel&amp;gt;&lt;br /&gt;
 	&amp;lt;/view&amp;gt; &lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 &lt;br /&gt;
 - Artwork type: Bezel&lt;br /&gt;
 - Scanned bezel provided by Mr. Do&lt;br /&gt;
 - Vectorized by zorg&lt;br /&gt;
 - Lay file by Mr. Do&lt;br /&gt;
 &lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s look at each section:&lt;br /&gt;
&lt;br /&gt;
* Comment Line&lt;br /&gt;
** This first line isn’t necessary; I simply use it so I know which game I&#039;m looking at.  In a layout file (and any XML file), a comment starts with “&amp;amp;lt;!--” and ends with “--&amp;amp;gt;”.  You can put anything you want in between.&lt;br /&gt;
* Opening Header Tag&lt;br /&gt;
** This defines the type of XML file this is; in our case, a “mamelayout” file.&lt;br /&gt;
* Elements&lt;br /&gt;
** After the header tag, you define each of your elements.  In this case, we have one element, using a file called “vanguard_bezel.png”, with the name of “bezel”.&lt;br /&gt;
* View&lt;br /&gt;
** After you define all of your elements, you need an opening tag for the view section, where you define the bounds for each screen and element you are going to use.&lt;br /&gt;
** The “name” of the view is what will display in the “Video Options” menu of the internal MAME user interface.&lt;br /&gt;
** The first item is the screen.  It has an index of &amp;quot;0&amp;quot;, as it is the only screen for this game.&lt;br /&gt;
** The next item instantiates the element named &amp;quot;bezel&amp;quot;.&lt;br /&gt;
** Once all objects are defined, you need a closing tag to finish this “view”.&lt;br /&gt;
* A closing tag to end the “mamelayout” file.&lt;br /&gt;
* More comments.  This is were I put notes for:&lt;br /&gt;
** What type of artwork(s) this file represents&lt;br /&gt;
** How the original source artwork was captured (scan, photo), and who did the work.&lt;br /&gt;
** Who converted the original source to use in MAME, and if it was vectored or not.&lt;br /&gt;
** Any other additional credits&lt;br /&gt;
** Who wrote up the layout file&lt;br /&gt;
&lt;br /&gt;
Note very carefully the values of the width and the height for the screen:&lt;br /&gt;
* The screen ratio for most vertical arcade games is 3:4.&lt;br /&gt;
* The screen ratio for most horizontal games is 4:3.&lt;br /&gt;
&lt;br /&gt;
Let me explain that now.  Most arcade games through the 20th century and into the early 21st century ran on a standard arcade monitor, with a 4:3 ratio, just like old CRT monitors.  Vertical games simply rotated the monitor 90 degrees.  No matter what resolution an arcade PCB runs internally, it is expected to be stretched out to a standard 4:3 monitor.  So if you want to calculate the screen ratio correctly:&lt;br /&gt;
&lt;br /&gt;
* The width divided by the height on a horizontal game equals 1.33.&lt;br /&gt;
* The width divided by the height on a vertical game equals 0.75.&lt;br /&gt;
&lt;br /&gt;
(Exceptions include games that supported wide-screen monitors.  Sega Virtua Racing and Capcom Street Fighter III 2nd Impact: Giant Attack are examples of games that can be configured to use a 16:9 widescreen monitor.)&lt;br /&gt;
&lt;br /&gt;
The other note I&#039;d like to make is that on 99% of arcade games, the borders of the bezel did not touch the border of the monitor.  In fact, most games had an internal black plastic bezel between the monitor and the external artwork, and actually had quite a bit of space between the monitor and the artwork.  On official artwork, I try to make the game screen as big as possible within the bezel window. But, you&#039;ll notice that, except for a few select games, the screen doesn’t touch the artwork.&lt;br /&gt;
&lt;br /&gt;
Those are the basics for now.  There will later be a Part II for some more advanced examples.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7370</id>
		<title>LAY File Basics - Part I</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7370"/>
		<updated>2020-10-07T15:39:36Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A layout file (LAY file) describes objects to draw when running a particular system in XML format.  The [https://docs.mamedev.org/techspecs/layout_files.html layout file format documentation] is available on the MAMEdev documentation web site.&lt;br /&gt;
&lt;br /&gt;
Systems that only have simple arrangements of screens generally use automatically-generated layouts.  Systems that need more complex screen arrangements or additional interactive elements use internal layout files.  You can [https://git.redump.net/mame/tree/src/mame/layout browse the internal layouts] in MAME’s source code.&lt;br /&gt;
&lt;br /&gt;
All external artwork utilizes layout files to tell MAME where to put all of the different artwork pieces and screens (if applicable).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ELEMENTS ===&lt;br /&gt;
&lt;br /&gt;
MAME can utilize any of the following different types of “components” in a layout file:&lt;br /&gt;
&lt;br /&gt;
* External image files&lt;br /&gt;
** The image must be in PNG, JPEG, Windows DIB (BMP) or SVG format&lt;br /&gt;
**  It can be any size; typically, bigger is better (assuming the original image was already sharp) – the high-quality artwork being used today is typically 4000 pixels wide.&lt;br /&gt;
** A bezel artwork file (the type which surrounds the game screen), should have a center window with an alpha transparency value of zero (i.e. the middle should be “see-through”).&lt;br /&gt;
** Only external artwork files can use image files (unless you edit the source for your own personal MAME build; more on that later).&lt;br /&gt;
* Internally Rendered Elements&lt;br /&gt;
** Rectangle&lt;br /&gt;
*** A colored square or rectangle.&lt;br /&gt;
** Disk&lt;br /&gt;
*** Just like above, except instead of a square/rectangle, you have a circle/oval.&lt;br /&gt;
** Multi-segment LED display&lt;br /&gt;
*** Some games utilized LEDs, like on a calculator.  If a game supports these in its MAME driver, then these will work accordingly.  If not, then the LED will just display garbage.&lt;br /&gt;
*** MAME has internal support for standard 7-segement displays, and multiple types of 14-segment and 16-segment displays&lt;br /&gt;
** Text&lt;br /&gt;
*** You can even display text as an element, using MAME’s default UI font.  This is typically used for button/LED labels in internal layout files.&lt;br /&gt;
&lt;br /&gt;
For all internally rendered components, you must define the ARGB (alpha, red, green, blue) color of the element, using channel values from zero to one.  So for example, where the 8-bit-per-channel RGB value of orange is (255, 127, 0), this would be represented in the layout file as (1.0, 0.5, 0.0).&lt;br /&gt;
&lt;br /&gt;
“Elements” are built up from components.  An element is drawn as a single textured quad in the final scene graph.  The components are drawn into the element texture using alpha blending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VIEWS ===&lt;br /&gt;
&lt;br /&gt;
Each layout file must have at least one defined &amp;quot;view&amp;quot; to tell MAME how to position all of the different elements and screens.  Each item in a view must include:&lt;br /&gt;
&lt;br /&gt;
* An opening tag, where you element you are using, the orientation, blending mode, and I/O bindings for the element.&lt;br /&gt;
* A closing tag, which states that you are done defining that object.&lt;br /&gt;
&lt;br /&gt;
An item may also include:&lt;br /&gt;
&lt;br /&gt;
* An animate element specifying separate I/O bindings for the item.&lt;br /&gt;
* A bounds element specifying the position and size of the item, or multiple bounds elements for parameter animation.&lt;br /&gt;
* A color element allowing the item’s color to be modified by RGB multiplication, or multiple color elements for parameter animation.&lt;br /&gt;
&lt;br /&gt;
Each object within a view must either be a &#039;&#039;screen&#039;&#039;, or can be an element defined at the beginning of the layout file as shown above, instantiated with an &#039;&#039;element&#039;&#039; element.&lt;br /&gt;
&lt;br /&gt;
* Screen&lt;br /&gt;
** The screen shows the image on an emulated screen or video output.&lt;br /&gt;
** The screen is the playable game screen.  The beginning tag for this in a single-screen system is: &lt;br /&gt;
*** &amp;amp;lt;screen index=&amp;quot;0&amp;quot;&amp;amp;gt;&lt;br /&gt;
** The value of “index” is the zero-based index of the screen in the system.  For systems that have one screen, this value will always be zero  If a systemhas two screens, the value for the second screen would be &amp;quot;1&amp;quot;, and so on.&lt;br /&gt;
** The screen can also be specified by “tag” using its tag, relative to the layout’s device.  This is most useful for internal layouts for devices that are used as parts of larger systems.&lt;br /&gt;
** If a system has multiple screens, you can choose to only display one of the screens, if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Element&lt;br /&gt;
** Instantiates an element defined earlier in the layout file.  By default, elements are drawn with alpha blending; the blending mode can be overridden with a “blend” attribute.  The following blending modes are supported:&lt;br /&gt;
*** Alpha blending (alpha):&lt;br /&gt;
**** The element will be drawn with alpha blending, and will obscure any elements/screens instantiated earlier in the view.&lt;br /&gt;
*** Additive blending (add):&lt;br /&gt;
**** This is useful for backdrops.  Many arcade games from the ’70s and ’80s utilized a cabinet where the monitor was laid down, and reflected to the player by a semi-silvered mirror, with backdrop artwork sitting behind the mirror.  This gave the effect of a much cooler looking-game, back when the hardware was more simple.  To get this effect, you can place the backdrop over the screen and specify additive blending, or vice versa.&lt;br /&gt;
*** RGB multiply (multiply):&lt;br /&gt;
**** This is useful for translucent overlays.  Again, in the early days, some games that used black-and-white monitors had color gel overlays placed on top of the monitor to give the game some color.  To get this effect, you can place the overlay over the screen and specify RGB multiplication.&lt;br /&gt;
&lt;br /&gt;
For each item in a view, you need to define the “bounds” to tell MAME what coordinates to use to place the item.  If you think back to geometry in school, think about when you did graphing.  The x-axis is horizontal, the width, left to right; the y-axis is vertical, the height, top to bottom.  Where x and y cross is (0, 0).  As you go to the right, numbers get bigger (like geometry); as you go down, numbers get bigger (the opposite of geometry).&lt;br /&gt;
&lt;br /&gt;
There are two ways that you can define the “bounds” for an element:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;bounds x=&amp;quot;*&amp;quot; y=&amp;quot;*&amp;quot; width=&amp;quot;*&amp;quot; height=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;width&amp;quot; and &amp;quot;height&amp;quot; are the width and height of the object.&lt;br /&gt;
* &amp;amp;lt;bounds left=&amp;quot;*&amp;quot; top=&amp;quot;*&amp;quot; right=&amp;quot;*&amp;quot; bottom=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;left&amp;quot; and &amp;quot;top&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;right&amp;quot; and &amp;quot;bottom&amp;quot; are the coordinates of the bottom right corner of the object.&lt;br /&gt;
&lt;br /&gt;
Either way works; it&#039;s just a matter of personal preference.  I use the first way, as I already know the size of each element I&#039;m using.  In addition, it&#039;s easier to make adjustments to move things around; you just change &amp;quot;x and y,&amp;quot; leaving the width and height the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== YOUR FIRST LAYOUT FILE ===&lt;br /&gt;
&lt;br /&gt;
We’ll start out by doing a simple layout file for an artwork bezel.  First, here&#039;s the code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- vanguard.lay --&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;element name=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;image file=&amp;quot;vanguard_bezel.png&amp;quot; /&amp;gt;&lt;br /&gt;
 	&amp;lt;/element&amp;gt;&lt;br /&gt;
 	&amp;lt;view name=&amp;quot;Upright Artwork&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;1060&amp;quot; y=&amp;quot;790&amp;quot; width=&amp;quot;1920&amp;quot; height=&amp;quot;2560&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/screen&amp;gt;&lt;br /&gt;
 		&amp;lt;element ref=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;4000&amp;quot; height=&amp;quot;3810&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/bezel&amp;gt;&lt;br /&gt;
 	&amp;lt;/view&amp;gt; &lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 &lt;br /&gt;
 - Artwork type: Bezel&lt;br /&gt;
 - Scanned bezel provided by Mr. Do&lt;br /&gt;
 - Vectorized by zorg&lt;br /&gt;
 - Lay file by Mr. Do&lt;br /&gt;
 &lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s look at each section:&lt;br /&gt;
&lt;br /&gt;
* Comment Line&lt;br /&gt;
** This first line isn’t necessary; I simply use it so I know which game I&#039;m looking at.  In a layout file (and any XML file), a comment starts with “&amp;amp;lt;!--” and ends with “--&amp;amp;gt;”.  You can put anything you want in between.&lt;br /&gt;
* Opening Header Tag&lt;br /&gt;
** This defines the type of XML file this is; in our case, a “mamelayout” file.&lt;br /&gt;
* Elements&lt;br /&gt;
** After the header tag, you define each of your elements.  In this case, we have one element, using a file called “vanguard_bezel.png”, with the name of “bezel”.&lt;br /&gt;
* View&lt;br /&gt;
** After you define all of your elements, you need an opening tag for the view section, where you define the bounds for each screen and element you are going to use.&lt;br /&gt;
** The “name” of the view is what will display in the “Video Options” menu of the internal MAME user interface.&lt;br /&gt;
** The first item is the screen.  It has an index of &amp;quot;0&amp;quot;, as it is the only screen for this game.&lt;br /&gt;
** The next item instantiates the element named &amp;quot;bezel&amp;quot;.&lt;br /&gt;
** Once all objects are defined, you need a closing tag to finish this “view”.&lt;br /&gt;
* A closing tag to end the “mamelayout” file.&lt;br /&gt;
* More comments.  This is were I put notes for:&lt;br /&gt;
** What type of artwork(s) this file represents&lt;br /&gt;
** How the original source artwork was captured (scan, photo), and who did the work.&lt;br /&gt;
** Who converted the original source to use in MAME, and if it was vectored or not.&lt;br /&gt;
** Any other additional credits&lt;br /&gt;
** Who wrote up the layout file&lt;br /&gt;
&lt;br /&gt;
Note very carefully the values of the width and the height for the screen:&lt;br /&gt;
* The screen ratio for most vertical arcade games is 3:4.&lt;br /&gt;
* The screen ratio for most horizontal games is 4:3.&lt;br /&gt;
&lt;br /&gt;
Let me explain that now.  Most arcade games through the 20th century and into the early 21st century ran on a standard arcade monitor, with a 4:3 ratio, just like old CRT monitors.  Vertical games simply rotated the monitor 90 degrees.  No matter what resolution an arcade PCB runs internally, it is expected to be stretched out to a standard 4:3 monitor.  So if you want to calculate the screen ratio correctly:&lt;br /&gt;
&lt;br /&gt;
* The width divided by the height on a horizontal game equals 1.33.&lt;br /&gt;
* The width divided by the height on a vertical game equals 0.75.&lt;br /&gt;
&lt;br /&gt;
(Exceptions include games that supported wide-screen monitors.  Sega Virtua Racing and Capcom Street Fighter III 2nd Impact: Giant Attack are examples of games that can be configured to use a 16:9 widescreen monitor.)&lt;br /&gt;
&lt;br /&gt;
The other note I&#039;d like to make is that on 99% of arcade games, the borders of the bezel did not touch the border of the monitor.  In fact, most games had an internal black plastic bezel between the monitor and the external artwork, and actually had quite a bit of space between the monitor and the artwork.  On official artwork, I try to make the game screen as big as possible within the bezel window. But, you&#039;ll notice that, except for a few select games, the screen doesn’t touch the artwork.&lt;br /&gt;
&lt;br /&gt;
Those are the basics for now.  There will later be a Part II for some more advanced examples.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7365</id>
		<title>LAY File Basics - Part I</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7365"/>
		<updated>2020-10-05T04:00:53Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A layout file (LAY file) describes objects to draw when running a particular system in XML format.  The [https://docs.mamedev.org/techspecs/layout_files.html layout file format documentation] is available on the MAMEdev documentation web site.&lt;br /&gt;
&lt;br /&gt;
Systems that only have simple arrangements of screens generally use automatically-generated layouts.  Systems that need more complex screen arrangements or additional interactive elements use internal layout files.  You can [https://git.redump.net/mame/tree/src/mame/layout browse the internal layouts] in MAME’s source code.&lt;br /&gt;
&lt;br /&gt;
All external artwork utilizes layout files to tell MAME where to put all of the different artwork pieces and screens (if applicable).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ELEMENTS ===&lt;br /&gt;
&lt;br /&gt;
MAME can utilize any of the following different types of “components” in a layout file:&lt;br /&gt;
&lt;br /&gt;
* External image files&lt;br /&gt;
** The image must be in PNG or JPEG format&lt;br /&gt;
**  It can be any size; typically, bigger is better (assuming the original image was already sharp) – the high-quality artwork being used today is typically 4000 pixels wide.&lt;br /&gt;
** A bezel artwork file (the type which surrounds the game screen), should have a center window with an alpha transparency value of zero (i.e. the middle should be “see-through”).&lt;br /&gt;
** Only external artwork files can use image files (unless you edit the source for your own personal MAME build; more on that later).&lt;br /&gt;
* Internally Rendered Elements&lt;br /&gt;
** Rectangle&lt;br /&gt;
*** A colored square or rectangle.&lt;br /&gt;
** Disk&lt;br /&gt;
*** Just like above, except instead of a square/rectangle, you have a circle/oval.&lt;br /&gt;
** Multi-segment LED display&lt;br /&gt;
*** Some games utilized LEDs, like on a calculator.  If a game supports these in its MAME driver, then these will work accordingly.  If not, then the LED will just display garbage.&lt;br /&gt;
*** MAME has internal support for standard 7-segement displays, and multiple types of 14-segment and 16-segment displays&lt;br /&gt;
** Text&lt;br /&gt;
*** You can even display text as an element, using MAME’s default UI font.  This is typically used for button/LED labels in internal layout files.&lt;br /&gt;
&lt;br /&gt;
For all internally rendered components, you must define the ARGB (alpha, red, green, blue) color of the element, using channel values from zero to one.  So for example, where the 8-bit-per-channel RGB value of orange is (255, 127, 0), this would be represented in the layout file as (1.0, 0.5, 0.0).&lt;br /&gt;
&lt;br /&gt;
“Elements” are built up from components.  An element is drawn as a single textured quad in the final scene graph.  The components are drawn into the element texture using alpha blending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VIEWS ===&lt;br /&gt;
&lt;br /&gt;
Each layout file must have at least one defined &amp;quot;view&amp;quot; to tell MAME how to position all of the different elements and screens.  Each item in a view must include:&lt;br /&gt;
&lt;br /&gt;
* An opening tag, where you element you are using, the orientation, blending mode, and I/O bindings for the element.&lt;br /&gt;
* A closing tag, which states that you are done defining that object.&lt;br /&gt;
&lt;br /&gt;
An item may also include:&lt;br /&gt;
&lt;br /&gt;
* An animate element specifying separate I/O bindings for the item.&lt;br /&gt;
* A bounds element specifying the position and size of the item, or multiple bounds elements for parameter animation.&lt;br /&gt;
* A color element allowing the item’s color to be modified by RGB multiplication, or multiple color elements for parameter animation.&lt;br /&gt;
&lt;br /&gt;
Each object within a view must either be a &#039;&#039;screen&#039;&#039;, or can be an element defined at the beginning of the layout file as shown above, instantiated with an &#039;&#039;element&#039;&#039; element.&lt;br /&gt;
&lt;br /&gt;
* Screen&lt;br /&gt;
** The screen shows the image on an emulated screen or video output.&lt;br /&gt;
** The screen is the playable game screen.  The beginning tag for this in a single-screen system is: &lt;br /&gt;
*** &amp;amp;lt;screen index=&amp;quot;0&amp;quot;&amp;amp;gt;&lt;br /&gt;
** The value of “index” is the zero-based index of the screen in the system.  For systems that have one screen, this value will always be zero  If a systemhas two screens, the value for the second screen would be &amp;quot;1&amp;quot;, and so on.&lt;br /&gt;
** The screen can also be specified by “tag” using its tag, relative to the layout’s device.  This is most useful for internal layouts for devices that are used as parts of larger systems.&lt;br /&gt;
** If a system has multiple screens, you can choose to only display one of the screens, if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Element&lt;br /&gt;
** Instantiates an element defined earlier in the layout file.  By default, elements are drawn with alpha blending; the blending mode can be overridden with a “blend” attribute.  The following blending modes are supported:&lt;br /&gt;
*** Alpha blending (alpha):&lt;br /&gt;
**** The element will be drawn with alpha blending, and will obscure any elements/screens instantiated earlier in the view.&lt;br /&gt;
*** Additive blending (add):&lt;br /&gt;
**** This is useful for backdrops.  Many arcade games from the ’70s and ’80s utilized a cabinet where the monitor was laid down, and reflected to the player by a semi-silvered mirror, with backdrop artwork sitting behind the mirror.  This gave the effect of a much cooler looking-game, back when the hardware was more simple.  To get this effect, you can place the backdrop over the screen and specify additive blending, or vice versa.&lt;br /&gt;
*** RGB multiply (multiply):&lt;br /&gt;
**** This is useful for translucent overlays.  Again, in the early days, some games that used black-and-white monitors had color gel overlays placed on top of the monitor to give the game some color.  To get this effect, you can place the overlay over the screen and specify RGB multiplication.&lt;br /&gt;
&lt;br /&gt;
For each item in a view, you need to define the “bounds” to tell MAME what coordinates to use to place the item.  If you think back to geometry in school, think about when you did graphing.  The x-axis is horizontal, the width, left to right; the y-axis is vertical, the height, top to bottom.  Where x and y cross is (0, 0).  As you go to the right, numbers get bigger (like geometry); as you go down, numbers get bigger (the opposite of geometry).&lt;br /&gt;
&lt;br /&gt;
There are two ways that you can define the “bounds” for an element:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;bounds x=&amp;quot;*&amp;quot; y=&amp;quot;*&amp;quot; width=&amp;quot;*&amp;quot; height=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;width&amp;quot; and &amp;quot;height&amp;quot; are the width and height of the object.&lt;br /&gt;
* &amp;amp;lt;bounds left=&amp;quot;*&amp;quot; top=&amp;quot;*&amp;quot; right=&amp;quot;*&amp;quot; bottom=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;left&amp;quot; and &amp;quot;top&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;right&amp;quot; and &amp;quot;bottom&amp;quot; are the coordinates of the bottom right corner of the object.&lt;br /&gt;
&lt;br /&gt;
Either way works; it&#039;s just a matter of personal preference.  I use the first way, as I already know the size of each element I&#039;m using.  In addition, it&#039;s easier to make adjustments to move things around; you just change &amp;quot;x and y,&amp;quot; leaving the width and height the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== YOUR FIRST LAYOUT FILE ===&lt;br /&gt;
&lt;br /&gt;
We’ll start out by doing a simple layout file for an artwork bezel.  First, here&#039;s the code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- vanguard.lay --&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;element name=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;image file=&amp;quot;vanguard_bezel.png&amp;quot; /&amp;gt;&lt;br /&gt;
 	&amp;lt;/element&amp;gt;&lt;br /&gt;
 	&amp;lt;view name=&amp;quot;Upright Artwork&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;1060&amp;quot; y=&amp;quot;790&amp;quot; width=&amp;quot;1920&amp;quot; height=&amp;quot;2560&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/screen&amp;gt;&lt;br /&gt;
 		&amp;lt;element ref=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;4000&amp;quot; height=&amp;quot;3810&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/bezel&amp;gt;&lt;br /&gt;
 	&amp;lt;/view&amp;gt; &lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 &lt;br /&gt;
 - Artwork type: Bezel&lt;br /&gt;
 - Scanned bezel provided by Mr. Do&lt;br /&gt;
 - Vectorized by zorg&lt;br /&gt;
 - Lay file by Mr. Do&lt;br /&gt;
 &lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s look at each section:&lt;br /&gt;
&lt;br /&gt;
* Comment Line&lt;br /&gt;
** This first line isn’t necessary; I simply use it so I know which game I&#039;m looking at.  In a layout file (and any XML file), a comment starts with “&amp;amp;lt;!--” and ends with “--&amp;amp;gt;”.  You can put anything you want in between.&lt;br /&gt;
* Opening Header Tag&lt;br /&gt;
** This defines the type of XML file this is; in our case, a “mamelayout” file.&lt;br /&gt;
* Elements&lt;br /&gt;
** After the header tag, you define each of your elements.  In this case, we have one element, using a file called “vanguard_bezel.png”, with the name of “bezel”.&lt;br /&gt;
* View&lt;br /&gt;
** After you define all of your elements, you need an opening tag for the view section, where you define the bounds for each screen and element you are going to use.&lt;br /&gt;
** The “name” of the view is what will display in the “Video Options” menu of the internal MAME user interface.&lt;br /&gt;
** The first item is the screen.  It has an index of &amp;quot;0&amp;quot;, as it is the only screen for this game.&lt;br /&gt;
** The next item instantiates the element named &amp;quot;bezel&amp;quot;.&lt;br /&gt;
** Once all objects are defined, you need a closing tag to finish this “view”.&lt;br /&gt;
* A closing tag to end the “mamelayout” file.&lt;br /&gt;
* More comments.  This is were I put notes for:&lt;br /&gt;
** What type of artwork(s) this file represents&lt;br /&gt;
** How the original source artwork was captured (scan, photo), and who did the work.&lt;br /&gt;
** Who converted the original source to use in MAME, and if it was vectored or not.&lt;br /&gt;
** Any other additional credits&lt;br /&gt;
** Who wrote up the layout file&lt;br /&gt;
&lt;br /&gt;
Note very carefully the values of the width and the height for the screen:&lt;br /&gt;
* The screen ratio for most vertical arcade games is 3:4.&lt;br /&gt;
* The screen ratio for most horizontal games is 4:3.&lt;br /&gt;
&lt;br /&gt;
Let me explain that now.  Most arcade games through the 20th century and into the early 21st century ran on a standard arcade monitor, with a 4:3 ratio, just like old CRT monitors.  Vertical games simply rotated the monitor 90 degrees.  No matter what resolution an arcade PCB runs internally, it is expected to be stretched out to a standard 4:3 monitor.  So if you want to calculate the screen ratio correctly:&lt;br /&gt;
&lt;br /&gt;
* The width divided by the height on a horizontal game equals 1.33.&lt;br /&gt;
* The width divided by the height on a vertical game equals 0.75.&lt;br /&gt;
&lt;br /&gt;
(Exceptions include games that supported wide-screen monitors.  Sega Virtua Racing and Capcom Street Fighter III 2nd Impact: Giant Attack are examples of games that can be configured to use a 16:9 widescreen monitor.)&lt;br /&gt;
&lt;br /&gt;
The other note I&#039;d like to make is that on 99% of arcade games, the borders of the bezel did not touch the border of the monitor.  In fact, most games had an internal black plastic bezel between the monitor and the external artwork, and actually had quite a bit of space between the monitor and the artwork.  On official artwork, I try to make the game screen as big as possible within the bezel window. But, you&#039;ll notice that, except for a few select games, the screen doesn’t touch the artwork.&lt;br /&gt;
&lt;br /&gt;
Those are the basics for now.  There will later be a Part II for some more advanced examples.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
	<entry>
		<id>https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7364</id>
		<title>LAY File Basics - Part I</title>
		<link rel="alternate" type="text/html" href="https://wiki.mamedev.org/index.php?title=LAY_File_Basics_-_Part_I&amp;diff=7364"/>
		<updated>2020-10-05T03:59:24Z</updated>

		<summary type="html">&lt;p&gt;Cuavas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A layout file (LAY file) describes objects to draw when running a particular system in XML format.  The [https://docs.mamedev.org/techspecs/layout_files.html layout file format documentation] is available on the MAMEdev documentation web site.&lt;br /&gt;
&lt;br /&gt;
Systems that only have simple arrangements of screens generally use automatically-generated layouts.  Systems that need more complex screen arrangements or additional interactive elements use internal layout files.  You can [https://git.redump.net/mame/tree/src/mame/layout browse the internal layouts] in MAME’s source code.&lt;br /&gt;
&lt;br /&gt;
All external artwork utilizes layout files to tell MAME where to put all of the different artwork pieces and screens (if applicable).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ELEMENTS ===&lt;br /&gt;
&lt;br /&gt;
MAME can utilize any of the following different types of “components” in a layout file:&lt;br /&gt;
&lt;br /&gt;
* External image files&lt;br /&gt;
** The image must be in PNG or JPEG format&lt;br /&gt;
**  It can be any size; typically, bigger is better (assuming the original image was already sharp) – the high-quality artwork being used today is typically 4000 pixels wide.&lt;br /&gt;
** A bezel artwork file (the type which surrounds the game screen), should have a center window with an alpha transparency value of zero (i.e. the middle should be “see-through”).&lt;br /&gt;
** Only external artwork files can use image files (unless you edit the source for your own personal MAME build; more on that later).&lt;br /&gt;
* Internally Rendered Elements&lt;br /&gt;
** Rectangle&lt;br /&gt;
*** A colored square or rectangle.&lt;br /&gt;
** Disk&lt;br /&gt;
*** Just like above, except instead of a square/rectangle, you have a circle/oval.&lt;br /&gt;
** Multi-segment LED display&lt;br /&gt;
*** Some games utilized LEDs, like on a calculator.  If a game supports these in its MAME driver, then these will work accordingly.  If not, then the LED will just display garbage.&lt;br /&gt;
*** MAME has internal support for standard 7-segement displays, and multiple types of 14-segment and 16-segment displays&lt;br /&gt;
** Text&lt;br /&gt;
*** You can even display text as an element, using MAME’s default UI font.  This is typically used for button/LED labels in internal layout files.&lt;br /&gt;
&lt;br /&gt;
For all internally rendered components, you must define the ARGB (alpha, red, green, blue) color of the element, using channel values from zero to one.  So for example, where the 8-bit-per-channel RGB value of orange is (255, 127, 0), this would be represented in the layout file as (1.0, 0.5, 0.0).&lt;br /&gt;
&lt;br /&gt;
“Elements” are built up from components.  An element is drawn as a single textured quad in the final scene graph.  The components are drawn into the element texture using alpha blending.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VIEWS ===&lt;br /&gt;
&lt;br /&gt;
Each layout file must have at least one defined &amp;quot;view&amp;quot; to tell MAME how to position all of the different elements and screens.  Each item in a view must include:&lt;br /&gt;
&lt;br /&gt;
* An opening tag, where you element you are using, the orientation, blending mode, and I/O bindings for the element.&lt;br /&gt;
* A closing tag, which states that you are done defining that object.&lt;br /&gt;
&lt;br /&gt;
An item may also include:&lt;br /&gt;
&lt;br /&gt;
* An animate element specifying separate I/O bindings for the item.&lt;br /&gt;
* A bounds element specifying the position and size of the item, or multiple bounds elements for parameter animation.&lt;br /&gt;
* A color element allowing the item’s color to be modified by RGB multiplication.&lt;br /&gt;
&lt;br /&gt;
Each object within a view must either be a &#039;&#039;screen&#039;&#039;, or can be an element defined at the beginning of the layout file as shown above, instantiated with an &#039;&#039;element&#039;&#039; element.&lt;br /&gt;
&lt;br /&gt;
* Screen&lt;br /&gt;
** The screen shows the image on an emulated screen or video output.&lt;br /&gt;
** The screen is the playable game screen.  The beginning tag for this in a single-screen system is: &lt;br /&gt;
*** &amp;amp;lt;screen index=&amp;quot;0&amp;quot;&amp;amp;gt;&lt;br /&gt;
** The value of “index” is the zero-based index of the screen in the system.  For systems that have one screen, this value will always be zero  If a systemhas two screens, the value for the second screen would be &amp;quot;1&amp;quot;, and so on.&lt;br /&gt;
** The screen can also be specified by “tag” using its tag, relative to the layout’s device.  This is most useful for internal layouts for devices that are used as parts of larger systems.&lt;br /&gt;
** If a system has multiple screens, you can choose to only display one of the screens, if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Element&lt;br /&gt;
** Instantiates an element defined earlier in the layout file.  By default, elements are drawn with alpha blending; the blending mode can be overridden with a “blend” attribute.  The following blending modes are supported:&lt;br /&gt;
*** Alpha blending (alpha):&lt;br /&gt;
**** The element will be drawn with alpha blending, and will obscure any elements/screens instantiated earlier in the view.&lt;br /&gt;
*** Additive blending (add):&lt;br /&gt;
**** This is useful for backdrops.  Many arcade games from the ’70s and ’80s utilized a cabinet where the monitor was laid down, and reflected to the player by a semi-silvered mirror, with backdrop artwork sitting behind the mirror.  This gave the effect of a much cooler looking-game, back when the hardware was more simple.  To get this effect, you can place the backdrop over the screen and specify additive blending, or vice versa.&lt;br /&gt;
*** RGB multiply (multiply):&lt;br /&gt;
**** This is useful for translucent overlays.  Again, in the early days, some games that used black-and-white monitors had color gel overlays placed on top of the monitor to give the game some color.  To get this effect, you can place the overlay over the screen and specify RGB multiplication.&lt;br /&gt;
&lt;br /&gt;
For each item in a view, you need to define the “bounds” to tell MAME what coordinates to use to place the item.  If you think back to geometry in school, think about when you did graphing.  The x-axis is horizontal, the width, left to right; the y-axis is vertical, the height, top to bottom.  Where x and y cross is (0, 0).  As you go to the right, numbers get bigger (like geometry); as you go down, numbers get bigger (the opposite of geometry).&lt;br /&gt;
&lt;br /&gt;
There are two ways that you can define the “bounds” for an element:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;bounds x=&amp;quot;*&amp;quot; y=&amp;quot;*&amp;quot; width=&amp;quot;*&amp;quot; height=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;width&amp;quot; and &amp;quot;height&amp;quot; are the width and height of the object.&lt;br /&gt;
* &amp;amp;lt;bounds left=&amp;quot;*&amp;quot; top=&amp;quot;*&amp;quot; right=&amp;quot;*&amp;quot; bottom=&amp;quot;*&amp;quot;&amp;amp;gt;&lt;br /&gt;
** &amp;quot;left&amp;quot; and &amp;quot;top&amp;quot; are the coordinates of the top left corner of the object; &amp;quot;right&amp;quot; and &amp;quot;bottom&amp;quot; are the coordinates of the bottom right corner of the object.&lt;br /&gt;
&lt;br /&gt;
Either way works; it&#039;s just a matter of personal preference.  I use the first way, as I already know the size of each element I&#039;m using.  In addition, it&#039;s easier to make adjustments to move things around; you just change &amp;quot;x and y,&amp;quot; leaving the width and height the same.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== YOUR FIRST LAYOUT FILE ===&lt;br /&gt;
&lt;br /&gt;
We’ll start out by doing a simple layout file for an artwork bezel.  First, here&#039;s the code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- vanguard.lay --&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;mamelayout version=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
 	&amp;lt;element name=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;image file=&amp;quot;vanguard_bezel.png&amp;quot; /&amp;gt;&lt;br /&gt;
 	&amp;lt;/element&amp;gt;&lt;br /&gt;
 	&amp;lt;view name=&amp;quot;Upright Artwork&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;screen index=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;1060&amp;quot; y=&amp;quot;790&amp;quot; width=&amp;quot;1920&amp;quot; height=&amp;quot;2560&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/screen&amp;gt;&lt;br /&gt;
 		&amp;lt;element ref=&amp;quot;bezel&amp;quot;&amp;gt;&lt;br /&gt;
 			&amp;lt;bounds x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;4000&amp;quot; height=&amp;quot;3810&amp;quot; /&amp;gt;&lt;br /&gt;
 		&amp;lt;/bezel&amp;gt;&lt;br /&gt;
 	&amp;lt;/view&amp;gt; &lt;br /&gt;
 &amp;lt;/mamelayout&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!--&lt;br /&gt;
 &lt;br /&gt;
 - Artwork type: Bezel&lt;br /&gt;
 - Scanned bezel provided by Mr. Do&lt;br /&gt;
 - Vectorized by zorg&lt;br /&gt;
 - Lay file by Mr. Do&lt;br /&gt;
 &lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s look at each section:&lt;br /&gt;
&lt;br /&gt;
* Comment Line&lt;br /&gt;
** This first line isn’t necessary; I simply use it so I know which game I&#039;m looking at.  In a layout file (and any XML file), a comment starts with “&amp;amp;lt;!--” and ends with “--&amp;amp;gt;”.  You can put anything you want in between.&lt;br /&gt;
* Opening Header Tag&lt;br /&gt;
** This defines the type of XML file this is; in our case, a “mamelayout” file.&lt;br /&gt;
* Elements&lt;br /&gt;
** After the header tag, you define each of your elements.  In this case, we have one element, using a file called “vanguard_bezel.png”, with the name of “bezel”.&lt;br /&gt;
* View&lt;br /&gt;
** After you define all of your elements, you need an opening tag for the view section, where you define the bounds for each screen and element you are going to use.&lt;br /&gt;
** The “name” of the view is what will display in the “Video Options” menu of the internal MAME user interface.&lt;br /&gt;
** The first item is the screen.  It has an index of &amp;quot;0&amp;quot;, as it is the only screen for this game.&lt;br /&gt;
** The next item instantiates the element named &amp;quot;bezel&amp;quot;.&lt;br /&gt;
** Once all objects are defined, you need a closing tag to finish this “view”.&lt;br /&gt;
* A closing tag to end the “mamelayout” file.&lt;br /&gt;
* More comments.  This is were I put notes for:&lt;br /&gt;
** What type of artwork(s) this file represents&lt;br /&gt;
** How the original source artwork was captured (scan, photo), and who did the work.&lt;br /&gt;
** Who converted the original source to use in MAME, and if it was vectored or not.&lt;br /&gt;
** Any other additional credits&lt;br /&gt;
** Who wrote up the layout file&lt;br /&gt;
&lt;br /&gt;
Note very carefully the values of the width and the height for the screen:&lt;br /&gt;
* The screen ratio for most vertical arcade games is 3:4.&lt;br /&gt;
* The screen ratio for most horizontal games is 4:3.&lt;br /&gt;
&lt;br /&gt;
Let me explain that now.  Most arcade games through the 20th century and into the early 21st century ran on a standard arcade monitor, with a 4:3 ratio, just like old CRT monitors.  Vertical games simply rotated the monitor 90 degrees.  No matter what resolution an arcade PCB runs internally, it is expected to be stretched out to a standard 4:3 monitor.  So if you want to calculate the screen ratio correctly:&lt;br /&gt;
&lt;br /&gt;
* The width divided by the height on a horizontal game equals 1.33.&lt;br /&gt;
* The width divided by the height on a vertical game equals 0.75.&lt;br /&gt;
&lt;br /&gt;
(Exceptions include games that supported wide-screen monitors.  Sega Virtua Racing and Capcom Street Fighter III 2nd Impact: Giant Attack are examples of games that can be configured to use a 16:9 widescreen monitor.)&lt;br /&gt;
&lt;br /&gt;
The other note I&#039;d like to make is that on 99% of arcade games, the borders of the bezel did not touch the border of the monitor.  In fact, most games had an internal black plastic bezel between the monitor and the external artwork, and actually had quite a bit of space between the monitor and the artwork.  On official artwork, I try to make the game screen as big as possible within the bezel window. But, you&#039;ll notice that, except for a few select games, the screen doesn’t touch the artwork.&lt;br /&gt;
&lt;br /&gt;
Those are the basics for now.  There will later be a Part II for some more advanced examples.&lt;/div&gt;</summary>
		<author><name>Cuavas</name></author>
	</entry>
</feed>