Annotation of nono/vm/kbc.cpp, revision 1.1.1.2

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       root       28: KBCDevice::Read8(uint32 addr)
                     29: {
1.1.1.2 ! root       30:        busdata data;
        !            31: 
1.1       root       32:        // XXX 折り返しは不明
                     33:        switch (addr & 7) {
                     34:         case KEYDATA:
1.1.1.2 ! root       35:                data = 0;
        !            36:                break;
1.1       root       37: 
                     38:         case KEYSTAT:
1.1.1.2 ! root       39:                data = 0xc0;    // KBRDY, MSRDY
        !            40:                break;
1.1       root       41: 
                     42:         case KEYINTE:
1.1.1.2 ! root       43:                data = 0;               // ?
        !            44:                break;
1.1       root       45: 
                     46:         case KEYRESET:
1.1.1.2 ! root       47:                data = 0xff;    // ?
        !            48:                break;
1.1       root       49: 
                     50:         case KEYBUZZ:
1.1.1.2 ! root       51:                data = 0xff;    // ?
        !            52:                break;
1.1       root       53: 
                     54:         case MSDATA:
1.1.1.2 ! root       55:                data = 0;
        !            56:                break;
1.1       root       57: 
                     58:         case MSINTE:           // ?
1.1.1.2 ! root       59:                data = 0;
        !            60:                break;
1.1       root       61: 
                     62:         case MSRESET:          // ?
1.1.1.2 ! root       63:                data = 0xff;
        !            64:                break;
1.1       root       65: 
                     66:         default:
1.1.1.2 ! root       67:                data = 0xff;
        !            68:                break;
1.1       root       69:        }
1.1.1.2 ! root       70: 
        !            71:        return data;
1.1       root       72: }
                     73: 
1.1.1.2 ! root       74: busdata
1.1       root       75: KBCDevice::Write8(uint32 addr, uint32 data)
                     76: {
                     77:        // とりあえず全無視
                     78:        return 0;
                     79: }
                     80: 
1.1.1.2 ! root       81: busdata
1.1       root       82: KBCDevice::Peek8(uint32 addr)
                     83: {
                     84:        // XXX 未実装
                     85:        return 0xff;
                     86: }

unix.superglobalmegacorp.com

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