#pragma once
#include "FDDStd326.h"

class CFDDStd326Mem :
	public CFDDStd326
{
	protected:
		virtual void        MemoryManager() override;

	public:
		CFDDStd326Mem();
		virtual ~CFDDStd326Mem() override;
		virtual BK_BOARD_MODEL  GetBoardModel() override;

		// Methods for Set/Get byte/word
		virtual bool        GetByte(register uint16_t addr, register uint8_t *pValue) override;
		virtual bool        GetWord(register uint16_t addr, register uint16_t *pValue) override;
		virtual bool        SetByte(register uint16_t addr, register uint8_t value) override;
		virtual bool        SetWord(register uint16_t addr, register uint16_t value) override;

};

constexpr auto KNGMD_RAM1_BNK = 1;
constexpr auto KNGMD_RAM2_BNK = 2;


/*
Блок КНГМД ре 326 с доп. ОЗУ для БК10
Организация массива памяти

32кб:
000000--банк 0 ---страница 4 --- не используется
020000--банк 1 ---страница 5---- ОЗУ
040000--банк 2 ---страница 6 --- ОЗУ
060000--банк 3 ---страница 7---- DISK_326.rom
*/
