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

Comparing BasiliskII/src/include/macos_util.h (file contents):
Revision 1.4 by cebix, 2000-04-10T18:53:32Z vs.
Revision 1.14 by cebix, 2004-01-12T15:29:27Z

# Line 1 | Line 1
1   /*
2   *  macos_util.h - MacOS definitions/utility functions
3   *
4 < *  Basilisk II (C) 1997-2000 Christian Bauer
4 > *  Basilisk II (C) 1997-2004 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 MACOS_UTIL_H
22   #define MACOS_UTIL_H
23  
24 + #include "cpu_emulation.h"
25 +
26  
27   /*
28   *  Queues
# Line 243 | Line 245 | enum { // DeferredTask struct
245   };
246  
247  
248 + // Definitions for DebugUtil() Selector
249 + enum {
250 +        duDebuggerGetMax = 0,
251 +        duDebuggerEnter = 1,
252 +        duDebuggerExit = 2,
253 +        duDebuggerPoll = 3,
254 +        duGetPageState = 4,
255 +        duPageFaultFatal = 5,
256 +        duDebuggerLockMemory = 6,
257 +        duDebuggerUnlockMemory = 7,
258 +        duEnterSupervisorMode = 8
259 + };
260 +
261   // Functions
262   extern void EnqueueMac(uint32 elem, uint32 list);       // Enqueue QElem in list
263   extern int FindFreeDriveNumber(int num);                        // Find first free drive number, starting at "num"
264   extern void MountVolume(void *fh);                                      // Mount volume with given file handle (see sys.h)
250 extern bool HasMacStarted(void);                                        // Test if basic MacOS initializations are done
265   extern void FileDiskLayout(loff_t size, uint8 *data, loff_t &start_byte, loff_t &real_size);    // Calculate disk image file layout given file size and first 256 data bytes
266 + extern uint32 DebugUtil(uint32 Selector);                       // DebugUtil() Replacement
267 + extern uint32 TimeToMacTime(time_t t);                          // Convert time_t value to MacOS time
268 +
269 + // Construct four-character-code
270 + #define FOURCC(a,b,c,d) (((uint32)(a) << 24) | ((uint32)(b) << 16) | ((uint32)(c) << 8) | (uint32)(d))
271 +
272 + // Emulator identification codes (4 and 2 characters)
273 + const uint32 EMULATOR_ID_4 = 0x62617369;                        // 'basi'
274 + const uint16 EMULATOR_ID_2 = 0x6261;                            // 'ba'
275 +
276 + // Test if basic MacOS initializations (of the ROM) are done
277 + static inline bool HasMacStarted(void)
278 + {
279 +        return ReadMacInt32(0xcfc) == FOURCC('W','L','S','C');  // Mac warm start flag
280 + }
281  
282   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines