ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/cpu_emulation.h
(Generate patch)

Comparing BasiliskII/src/uae_cpu/cpu_emulation.h (file contents):
Revision 1.1 by cebix, 1999-10-03T14:16:26Z vs.
Revision 1.8 by cebix, 2001-02-02T20:53:00Z

# Line 1 | Line 1
1   /*
2 < *  cpu_emulation.h - Definitions for Basilisk II CPU emulation module (UAE 0.8.8 version)
2 > *  cpu_emulation.h - Definitions for Basilisk II CPU emulation module (UAE 0.8.10 version)
3   *
4 < *  Basilisk II (C) 1997-1999 Christian Bauer
4 > *  Basilisk II (C) 1997-2001 Christian Bauer
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 21 | Line 21
21   #ifndef CPU_EMULATION_H
22   #define CPU_EMULATION_H
23  
24 + #include <string.h>
25 +
26  
27   /*
28   *  Memory system
# Line 42 | Line 44 | extern uint32 ROMSize;                 // Size of ROM
44   const uint32 MacFrameBaseMac = 0xa0000000;
45   extern uint8 *MacFrameBaseHost; // Frame buffer base (host address space)
46   extern uint32 MacFrameSize;             // Size of frame buffer
45 extern int MacFrameLayout;              // Frame buffer layout (see defines below)
47   #endif
48 + extern int MacFrameLayout;              // Frame buffer layout (see defines below)
49  
50   // Possible frame buffer layouts
51   enum {
# Line 55 | Line 57 | enum {
57   };
58  
59   // Mac memory access functions
58 #if REAL_ADDRESSING
59 static inline uint32 ReadMacInt32(uint32 addr) {return ntohl(*(uint32 *)addr);}
60 static inline uint32 ReadMacInt16(uint32 addr) {return ntohs(*(uint16 *)addr);}
61 static inline uint32 ReadMacInt8(uint32 addr) {return *(uint8 *)addr;}
62 static inline void WriteMacInt32(uint32 addr, uint32 l) {*(uint32 *)addr = htonl(l);}
63 static inline void WriteMacInt16(uint32 addr, uint32 w) {*(uint16 *)addr = htons(w);}
64 static inline void WriteMacInt8(uint32 addr, uint32 b) {*(uint8 *)addr = b;}
65 static inline uint8 *Mac2HostAddr(uint32 addr) {return (uint8 *)addr;}
66 #else
60   #include "memory.h"
61   static inline uint32 ReadMacInt32(uint32 addr) {return get_long(addr);}
62   static inline uint32 ReadMacInt16(uint32 addr) {return get_word(addr);}
# Line 72 | Line 65 | static inline void WriteMacInt32(uint32
65   static inline void WriteMacInt16(uint32 addr, uint32 w) {put_word(addr, w);}
66   static inline void WriteMacInt8(uint32 addr, uint32 b) {put_byte(addr, b);}
67   static inline uint8 *Mac2HostAddr(uint32 addr) {return get_real_address(addr);}
68 < #endif
68 > static inline uint32 Host2MacAddr(uint8 *addr) {return get_virtual_address(addr);}
69 >
70 > static inline void *Mac_memset(uint32 addr, int c, size_t n) {return memset(Mac2HostAddr(addr), c, n);}
71 > static inline void *Mac2Host_memcpy(void *dest, uint32 src, size_t n) {return memcpy(dest, Mac2HostAddr(src), n);}
72 > static inline void *Host2Mac_memcpy(uint32 dest, const void *src, size_t n) {return memcpy(Mac2HostAddr(dest), src, n);}
73 > static inline void *Mac2Mac_memcpy(uint32 dest, uint32 src, size_t n) {return memcpy(Mac2HostAddr(dest), Mac2HostAddr(src), n);}
74  
75  
76   /*
# Line 91 | Line 89 | extern "C" void Execute68kTrap(uint16 tr
89  
90   // Interrupt functions
91   extern void TriggerInterrupt(void);                                                             // Trigger interrupt level 1 (InterruptFlag must be set first)
92 + extern void TriggerNMI(void);                                                                   // Trigger interrupt level 7
93  
94   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines