fix crash with sa1 ram exposure
This commit is contained in:
parent
f9d4737104
commit
5ad12db814
Binary file not shown.
|
@ -116,6 +116,7 @@ void SA1::trigger_irq() {
|
|||
}
|
||||
|
||||
void SA1::init() {
|
||||
iram.init();
|
||||
}
|
||||
|
||||
void SA1::load() {
|
||||
|
|
|
@ -12,12 +12,14 @@ void StaticRAM::write(unsigned addr, uint8 n) { data_[addr] = n; }
|
|||
uint8& StaticRAM::operator[](unsigned addr) { return data_[addr]; }
|
||||
const uint8& StaticRAM::operator[](unsigned addr) const { return data_[addr]; }
|
||||
|
||||
StaticRAM::StaticRAM(unsigned n, const char* name) : size_(n) {
|
||||
if(name) data_ = (uint8*)interface()->allocSharedMemory(name, size_);
|
||||
StaticRAM::StaticRAM(unsigned n, const char* name) : size_(n), name_(name) {
|
||||
if(name_) data_ = nullptr; // data_ alloc must be deferred (static ctor is not in a cothread!)
|
||||
else data_ = new uint8[size_]();
|
||||
}
|
||||
StaticRAM::~StaticRAM() { abort(); }
|
||||
|
||||
void StaticRAM::init() { if(name_ && !data_) data_ = (uint8*)interface()->allocSharedMemory(name_, size_); }
|
||||
|
||||
//MappedRAM
|
||||
|
||||
void MappedRAM::reset() {
|
||||
|
|
|
@ -16,9 +16,12 @@ struct StaticRAM : Memory {
|
|||
inline StaticRAM(unsigned size, const char* name = NULL);
|
||||
inline ~StaticRAM();
|
||||
|
||||
inline void init();
|
||||
|
||||
private:
|
||||
uint8 *data_;
|
||||
unsigned size_;
|
||||
const char* name_;
|
||||
};
|
||||
|
||||
struct MappedRAM : Memory {
|
||||
|
|
Loading…
Reference in New Issue