1 // 2 // Copyright (c) 2004 K. Wilkins 3 // 4 // This software is provided 'as-is', without any express or implied warranty. 5 // In no event will the authors be held liable for any damages arising from 6 // the use of this software. 7 // 8 // Permission is granted to anyone to use this software for any purpose, 9 // including commercial applications, and to alter it and redistribute it 10 // freely, subject to the following restrictions: 11 // 12 // 1. The origin of this software must not be misrepresented; you must not 13 // claim that you wrote the original software. If you use this software 14 // in a product, an acknowledgment in the product documentation would be 15 // appreciated but is not required. 16 // 17 // 2. Altered source versions must be plainly marked as such, and must not 18 // be misrepresented as being the original software. 19 // 20 // 3. This notice may not be removed or altered from any source distribution. 21 // 22 23 ////////////////////////////////////////////////////////////////////////////// 24 // Handy - An Atari Lynx Emulator // 25 // Copyright (c) 1996,1997 // 26 // K. Wilkins // 27 ////////////////////////////////////////////////////////////////////////////// 28 // Core machine definitions header file // 29 ////////////////////////////////////////////////////////////////////////////// 30 // // 31 // This header file provides the interface definition and code for the core // 32 // definitions used throughout the Handy code. Additionally it provides // 33 // a generic memory object definition. // 34 // // 35 // K. Wilkins // 36 // August 1997 // 37 // // 38 ////////////////////////////////////////////////////////////////////////////// 39 // Revision History: // 40 // ----------------- // 41 // // 42 // 01Aug1997 KW Document header added & class documented. // 43 // // 44 ////////////////////////////////////////////////////////////////////////////// 45 46 #ifndef MACHINE_H 47 #define MACHINE_H 48 49 #include "../mednafen.h" 50 51 typedef struct 52 { 53 union 54 { 55 struct 56 { 57 #ifdef MSB_FIRST 58 uint8 High; 59 uint8 Low; 60 #else 61 uint8 Low; 62 uint8 High; 63 #endif 64 } Union8; 65 uint16 Val16; 66 }; 67 } Uuint16; 68 69 // Read/Write Cycle definitions 70 #define CPU_RDWR_CYC 5 71 #define DMA_RDWR_CYC 4 72 #define SPR_RDWR_CYC 3 73 // Ammended to 2 on 28/04/00, 16Mhz = 62.5nS cycle 74 // 75 // 2 cycles is 125ns - PAGE MODE CYCLE 76 // 4 cycles is 250ns - NORMAL MODE CYCLE 77 // 78 79 #include "lynxbase.h" 80 81 #endif 82 83 84