File:  [Isaki's NoNo m68k/m88k emulator] / nono / vm / kbc.cpp
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:05:29 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v027, v026, v025, v024, v023, v022, v021, v020, HEAD
nono 1.0.0

//
// nono
// Copyright (C) 2022 nono project
// Licensed under nono-license.txt
//

//
// NWS-1750 のキーボードコントローラ(予定地)
//

// デバイスが存在しないことをバスエラーで検出できないので、
// とりあえず用意して生返事だけさせておく。

#include "kbc.h"

// コンストラクタ
KBCDevice::KBCDevice()
	: inherited(OBJ_KBC)
{
}

// デストラクタ
KBCDevice::~KBCDevice()
{
}

busdata
KBCDevice::ReadPort(uint32 offset)
{
	busdata data;

	switch (offset) {
	 case KEYDATA:
		data = 0;
		break;

	 case KEYSTAT:
		data = 0xc0;	// KBRDY, MSRDY
		break;

	 case KEYINTE:
		data = 0;		// ?
		break;

	 case KEYRESET:
		data = 0xff;	// ?
		break;

	 case KEYBUZZ:
		data = 0xff;	// ?
		break;

	 case MSDATA:
		data = 0;
		break;

	 case MSINTE:		// ?
		data = 0;
		break;

	 case MSRESET:		// ?
		data = 0xff;
		break;

	 default:
		data = 0xff;
		break;
	}

	data |= BusData::Size1;
	return data;
}

busdata
KBCDevice::WritePort(uint32 offset, uint32 data)
{
	// とりあえず全無視
	return BusData::Size1;
}

busdata
KBCDevice::PeekPort(uint32 offset)
{
	// XXX 未実装
	return 0xff;
}

bool
KBCDevice::PokePort(uint32 offset, uint32 data)
{
	return false;
}

unix.superglobalmegacorp.com

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