|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2019 [email protected]
4: //
5:
6: #include "x68krom.h"
7: #include "cgrom.h"
8: #include "mystring.h"
9: #include "pluto.h"
10: #include "scheduler.h"
11:
12: //
13: // IPLROM(1)
14: //
15:
16: IPLROM1Device::IPLROM1Device()
17: {
18: devname = "IPLROM(1)";
19: devaddr = 0xfe0000;
20: devlen = 0x020000;
21: mask = devlen - 1;
22: }
23:
24: IPLROM1Device::~IPLROM1Device()
25: {
26: }
27:
28: bool
29: IPLROM1Device::Init()
30: {
31: std::string name;
32:
33: // benchmark_mode は static 変数で main 側が代入しているので
34: // PlutoDevice とは関係なくアクセスできる。
35: if (PlutoDevice::benchmark_mode != 0) {
36: name = string_format("BENCH%02d.ROM", PlutoDevice::benchmark_mode);
37: } else {
38: name = "IPLROM30.DAT";
39: }
40:
41: if (LoadROM(name.c_str(), 128 * 1024) == false) {
42: return false;
43: }
44: return true;
45: }
46:
47:
48: //
49: // IPLROM(2)
50: //
51:
52: IPLROM2Device::IPLROM2Device()
53: {
54: devname = "IPLROM(2)";
55: devaddr = 0xfc0000;
56: devlen = 0x020000;
57: mask = devlen - 1;
58: }
59:
60: IPLROM2Device::~IPLROM2Device()
61: {
62: }
63:
64: bool
65: IPLROM2Device::Init()
66: {
67: // benchmark_mode は static 変数で main 側が代入しているので
68: // PlutoDevice とは関係なくアクセスできる。
69: if (PlutoDevice::benchmark_mode != 0) {
70: return true;
71: }
72:
73: if (LoadROM("ROM30.DAT", 128 * 1024) == false) {
74: return false;
75: }
76: return true;
77: }
78:
79:
80: //
81: // CGROM
82: //
83:
84: CGROMDevice::CGROMDevice()
85: {
86: devname = "CGROM";
87: devaddr = 0xf00000;
88: devlen = 768 * 1024;
89: mask = 1024 * 1024 - 1;
90: }
91:
92: CGROMDevice::~CGROMDevice()
93: {
94: }
95:
96: bool
97: CGROMDevice::Init()
98: {
99: #if 0
100: mem = builtin_cgrom;
101: #else
102: if (LoadROM("CGROM30.DAT", 768 * 1024) == false) {
103: return false;
104: }
105: #endif
106: return true;
107: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.