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

unix.superglobalmegacorp.com

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