|
|
nono 0.0.1
//
// nono
// Copyright (C) 2019 [email protected]
//
#include "x68krom.h"
#include "cgrom.h"
#include "mystring.h"
#include "pluto.h"
#include "scheduler.h"
//
// IPLROM(1)
//
IPLROM1Device::IPLROM1Device()
{
devname = "IPLROM(1)";
devaddr = 0xfe0000;
devlen = 0x020000;
mask = devlen - 1;
}
IPLROM1Device::~IPLROM1Device()
{
}
bool
IPLROM1Device::Init()
{
std::string name;
// benchmark_mode は static 変数で main 側が代入しているので
// PlutoDevice とは関係なくアクセスできる。
if (PlutoDevice::benchmark_mode != 0) {
name = string_format("BENCH%02d.ROM", PlutoDevice::benchmark_mode);
} else {
name = "IPLROM30.DAT";
}
if (LoadROM(name.c_str(), 128 * 1024) == false) {
return false;
}
return true;
}
//
// IPLROM(2)
//
IPLROM2Device::IPLROM2Device()
{
devname = "IPLROM(2)";
devaddr = 0xfc0000;
devlen = 0x020000;
mask = devlen - 1;
}
IPLROM2Device::~IPLROM2Device()
{
}
bool
IPLROM2Device::Init()
{
// benchmark_mode は static 変数で main 側が代入しているので
// PlutoDevice とは関係なくアクセスできる。
if (PlutoDevice::benchmark_mode != 0) {
return true;
}
if (LoadROM("ROM30.DAT", 128 * 1024) == false) {
return false;
}
return true;
}
//
// CGROM
//
CGROMDevice::CGROMDevice()
{
devname = "CGROM";
devaddr = 0xf00000;
devlen = 768 * 1024;
mask = 1024 * 1024 - 1;
}
CGROMDevice::~CGROMDevice()
{
}
bool
CGROMDevice::Init()
{
#if 0
mem = builtin_cgrom;
#else
if (LoadROM("CGROM30.DAT", 768 * 1024) == false) {
return false;
}
#endif
return true;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.