How MAME Works: Difference between revisions

From MAMEDEV Wiki
No edit summary
 
(36 intermediate revisions by 7 users not shown)
Line 1: Line 1:
The following is a list of documents describing the internal workings (core) of the MAME emulator.  Most are penned by Aaron Giles.
The following is a list of documents describing the internal workings (core) of the MAME emulator.  Most are penned by Aaron Giles.


== Building MAME ==
* [[Building MAME using Microsoft Visual Studio compilers]]


[http://aarongiles.com/?p=146 Resource Management in MAME]
== Writing for MAME ==
* [[Contributing to MAME]]
* [[Submitting Source Code]]
* [[MAME Coding Conventions]]


[http://aarongiles.com/?p=137 CPU Scheduling in MAME]
== For Driver Writers ==
* [[Game Drivers]]
* [[Resource Management in MAME]]
* [[DIP Switches in MAME]]
* [[MAME Interrupt Function Review]]
* [[Using MAME's tilemap system]]
* [[Programmable Logic Devices in MAME]]
* [[CPUs and Address Spaces]]
* [[Address Maps]]


[http://aarongiles.com/?p=74 Filters and streams in the MAME Sound System]
== Core Internals ==
* MAME Devices
** [[MAME Device Basics]]
** [[Device Interfaces]]
** [[Advanced Device Customization]]
** [[All About Devices]] (out of date)
* [[Timers and timing]]
* [[Filters and streams in the MAME Sound System]]
* [[Save State Fundamentals]]
* [[Using the GFX/TileMap viewer (F4)]]
* [[How To Use the 'New' Renderer]]
* [[Layouts and Rendering for MAME Artwork System]]
* [[LAY File Basics - Part I]]


[[MAME Interrupt Function Review]]
== CPU Emulation ==
* [[Virtual TLB]]
* [[CPU Scheduling in MAME]]


[http://aarongiles.com/?p=149 Save State Fundamentals]
== Universal Dynamic Recompiler ==
* [[Core Concepts]]
* [[UML Architecture]]
** [[UML Control Flow Opcodes]]
** [[UML Internal Register Opcodes]]
** [[UML Integer Opcodes]]
** [[UML Floating Point Opcodes]]
* [[Dynamic Recompiler Author's Guide]]
* [[Back-End Author's Guide]]


[http://aarongiles.com/?p=182 How To Use the 'New' Renderer]
== Tips & Tricks ==
 
* [[Executing Code Out of a Memory Region With a Read Handler]]
[http://aarongiles.com/?p=161 Layouts and Rendering for MAME Artwork System]
* [[Checklist for Cleaning Up Drivers]]
 
* [[Writing Messages to the Screen in a MAME Driver]]
[http://aarongiles.com/?p=180 Writing Messages to the Screen In a MAME Driver]
 
[http://aarongiles.com/?p=159 Programmable Logic Devices in MAME]
 
[http://aarongiles.com/?p=195 Checklist for Cleaning Up Drivers]
 
[http://aarongiles.com/?p=199 Building under Windows Vista]

Latest revision as of 04:32, 11 July 2016