|
|
nono 0.0.3
//
// nono
// Copyright (C) 2017 [email protected]
//
#pragma once
#include "device.h"
class IOConDevice
: public IODevice
{
typedef IODevice inherited;
private:
static const int baseaddr = 0xe9c000;
public:
IOConDevice();
virtual ~IOConDevice();
virtual uint64 Read8(uint32 addr);
virtual uint64 Read16(uint32 addr);
virtual uint64 Write8(uint32 addr, uint32 data);
virtual uint64 Write16(uint32 addr, uint32 data);
virtual uint64 Peek8(uint32 addr);
void IntFDC();
private:
// アドレスデコーダ
uint64 Decoder(uint32 addr) const;
bool hdd_int = false;
bool fdc_int = false;
bool fdd_int = false;
bool prt_int = false;
bool hdd_en = false;
bool fdc_en = false;
bool fdd_en = false;
bool prt_en = false;
uint8 vector = 0;
};
extern std::unique_ptr<IOConDevice> gIOCon;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.