diff options
Diffstat (limited to 'SrcShared/Hardware/EmRegsSED1375.h')
-rw-r--r-- | SrcShared/Hardware/EmRegsSED1375.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/SrcShared/Hardware/EmRegsSED1375.h b/SrcShared/Hardware/EmRegsSED1375.h new file mode 100644 index 0000000..7a0e5b5 --- /dev/null +++ b/SrcShared/Hardware/EmRegsSED1375.h @@ -0,0 +1,70 @@ +/* -*- mode: C++; tab-width: 4 -*- */ +/* ===================================================================== *\ + Copyright (c) 2000-2001 Palm, Inc. or its subsidiaries. + All rights reserved. + + This file is part of the Palm OS Emulator. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. +\* ===================================================================== */ + +#ifndef EmRegsSED1375_h +#define EmRegsSED1375_h + +#include "EmHAL.h" // EmHALHandler +#include "EmPalmStructs.h" +#include "EmRegs.h" +#include "EmStructs.h" // RGBList + +class SessionFile; +class EmScreenUpdateInfo; + + +class EmRegsSED1375 : public EmRegs, public EmHALHandler +{ + public: + EmRegsSED1375 (emuptr baseRegsAddr, + emuptr baseVideoAddr); + virtual ~EmRegsSED1375 (void); + + // EmRegs overrides + virtual void Initialize (void); + virtual void Reset (Bool hardwareReset); + virtual void Save (SessionFile&); + virtual void Load (SessionFile&); + virtual void Dispose (void); + + virtual void SetSubBankHandlers (void); + virtual uint8* GetRealAddress (emuptr address); + virtual emuptr GetAddressStart (void); + virtual uint32 GetAddressRange (void); + + // EmHAL overrides + virtual Bool GetLCDScreenOn (void); + virtual Bool GetLCDBacklightOn (void); + virtual Bool GetLCDHasFrame (void); + virtual void GetLCDBeginEnd (emuptr& begin, emuptr& end); + virtual void GetLCDScanlines (EmScreenUpdateInfo& info); + + private: + uint32 vertNonDisplayRead (emuptr address, int size); + uint32 lookUpTableDataRead (emuptr address, int size); + + void invalidateWrite (emuptr address, int size, uint32 value); + void lookUpTableAddressWrite (emuptr address, int size, uint32 value); + void lookUpTableDataWrite (emuptr address, int size, uint32 value); + + private: + void PrvGetPalette (RGBList& thePalette); + + private: + emuptr fBaseRegsAddr; + emuptr fBaseVideoAddr; + EmProxySED1375RegsType fRegs; + uint16 fClutData[256]; +}; + +#endif /* EmRegsSED1375_h */ |