|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2022 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // NWS-1750 のキーボードコントローラ(予定地)
9: //
10:
11: // デバイスが存在しないことをバスエラーで検出できないので、
12: // とりあえず用意して生返事だけさせておく。
13:
14: #include "kbc.h"
15:
16: // コンストラクタ
17: KBCDevice::KBCDevice()
18: : inherited(OBJ_KBC)
19: {
20: }
21:
22: // デストラクタ
23: KBCDevice::~KBCDevice()
24: {
25: }
26:
1.1.1.2 root 27: busdata
1.1.1.3 ! root 28: KBCDevice::ReadPort(uint32 offset)
1.1 root 29: {
1.1.1.2 root 30: busdata data;
31:
1.1.1.3 ! root 32: switch (offset) {
1.1 root 33: case KEYDATA:
1.1.1.2 root 34: data = 0;
35: break;
1.1 root 36:
37: case KEYSTAT:
1.1.1.2 root 38: data = 0xc0; // KBRDY, MSRDY
39: break;
1.1 root 40:
41: case KEYINTE:
1.1.1.2 root 42: data = 0; // ?
43: break;
1.1 root 44:
45: case KEYRESET:
1.1.1.2 root 46: data = 0xff; // ?
47: break;
1.1 root 48:
49: case KEYBUZZ:
1.1.1.2 root 50: data = 0xff; // ?
51: break;
1.1 root 52:
53: case MSDATA:
1.1.1.2 root 54: data = 0;
55: break;
1.1 root 56:
57: case MSINTE: // ?
1.1.1.2 root 58: data = 0;
59: break;
1.1 root 60:
61: case MSRESET: // ?
1.1.1.2 root 62: data = 0xff;
63: break;
1.1 root 64:
65: default:
1.1.1.2 root 66: data = 0xff;
67: break;
1.1 root 68: }
1.1.1.2 root 69:
1.1.1.3 ! root 70: data |= BusData::Size1;
1.1.1.2 root 71: return data;
1.1 root 72: }
73:
1.1.1.2 root 74: busdata
1.1.1.3 ! root 75: KBCDevice::WritePort(uint32 offset, uint32 data)
1.1 root 76: {
77: // とりあえず全無視
1.1.1.3 ! root 78: return BusData::Size1;
1.1 root 79: }
80:
1.1.1.2 root 81: busdata
1.1.1.3 ! root 82: KBCDevice::PeekPort(uint32 offset)
1.1 root 83: {
84: // XXX 未実装
85: return 0xff;
86: }
1.1.1.3 ! root 87:
! 88: bool
! 89: KBCDevice::PokePort(uint32 offset, uint32 data)
! 90: {
! 91: return false;
! 92: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.