//---------------------------------------------------------------------------
#ifndef ChipFunctionsH
#define ChipFunctionsH
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
void InitChip(unsigned char);   // инициализация памяти устройства
void InitArea(unsigned int);    // заполнение выбранной области данных FF-ками
void LoadFromBinFileToMemory(AnsiString);       // загружаем данные из bin-файла в память
void LoadFromHexFileToMemory(AnsiString);       // загружаем данные из hex-файла в память
void SaveFromMemoryToBinFile(AnsiString);       // сохраняем данные из памяти в bin-файл
void SaveFromMemoryToHexFile(AnsiString);       // сохраняем данные из памяти в hex-файл
void CloneData(unsigned char, unsigned int);    // копирование данных чипа из указанной области в ту же область клона, количество байт для копирования
//---------------------------------------------------------------------------
struct chip { AnsiString Name, ImageName;
              unsigned char ROM[8], Family, Modify;                             // DS2430A      DS2431
              unsigned int Area1Start, Area1Size; unsigned char Area1[65536];   // Data         Data
              unsigned int Area2Start, Area2Size; unsigned char Area2[65536];   // Data Sp      Registers
              unsigned int Area3Start, Area3Size; unsigned char Area3[65536];   // Registers    Scratchpad
              unsigned int Area4Start, Area4Size; unsigned char Area4[65536];}; // Regist. Sp   -/-
//---------------------------------------------------------------------------
//--- ЭКСПОРТИРУЕМЫЕ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ----------------------------------
//---------------------------------------------------------------------------
extern struct chip SelectedChip;
//---------------------------------------------------------------------------
#endif
