|
|
nono 0.1.2
//
// nono
// Copyright (C) 2020 nono project
// Licensed under nono-license.txt
//
#pragma once
#include "device.h"
class IOCtlrDevice
: public IODevice
{
using inherited = IODevice;
private:
static const int baseaddr = 0xe9c000;
public:
IOCtlrDevice();
~IOCtlrDevice() override;
void ResetHard() override;
void IntFDC();
protected:
// BusIO インタフェース
static const uint32 NPORT = 8;
uint64 Read(uint32 addr);
uint64 Write(uint32 addr, uint32 data);
uint64 Peek(uint32 addr);
private:
bool hdd_int {};
bool fdc_int {};
bool fdd_int {};
bool prt_int {};
bool hdd_en {};
bool fdc_en {};
bool fdd_en {};
bool prt_en {};
uint8 vector {};
};
extern std::unique_ptr<IOCtlrDevice> gIOCtlr;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.