File:  [Isaki's NoNo m68k/m88k emulator] / nono / vm / iocon.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:04:32 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v003, HEAD
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;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.