|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // 何もしないデバイス
9: //
10:
11: #include "nop.h"
12:
13: // コンストラクタ
14: NopIODevice::NopIODevice()
15: : inherited(OBJ_NOPIO)
16: {
17: ClearAlias();
18: AddAlias("NopIO");
19: }
20:
21: // デストラクタ
22: NopIODevice::~NopIODevice()
23: {
24: }
25:
26: busdata
27: NopIODevice::Read(busaddr addr)
28: {
29: uint32 datasize = addr.GetSize();
30:
31: putlog(1, "$%08x.%u", addr.Addr(), datasize);
32: busdata data = (1ULL << (datasize * 8)) - 1;
33: data |= busdata::Size(datasize);
34: return data;
35: }
36:
37: busdata
38: NopIODevice::Write(busaddr addr, uint32 data)
39: {
40: uint32 datasize = addr.GetSize();
41:
42: putlog(1, "$%08x.%u <- $%0*x", addr.Addr(), datasize, datasize * 2, data);
43: busdata r = busdata::Size(datasize);
44: return r;
45: }
46:
47: busdata
48: NopIODevice::Peek1(uint32 addr)
49: {
50: return 0xff;
51: }
52:
53: busdata
54: NopIODevice::Read1(uint32 addr)
55: {
56: putlog(1, "XP $%05x", addr);
57: busdata data = 0xff;
58: return data;
59: }
60:
61: busdata
62: NopIODevice::Write1(uint32 addr, uint32 data)
63: {
64: putlog(1, "XP $%05x <- $%02x", addr, data);
65: return 0;
66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.