File:  [Isaki's NoNo m68k/m88k emulator] / nono / vm / ram_partial.h
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:05:11 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v016, v015, HEAD
nono 0.3.0

//
// nono
// Copyright (C) 2020 nono project
// Licensed under nono-license.txt
//

//
// LUNA* の RAM のうち 16MB に満たないメモリブロックを担当する人
//

#pragma once

#include "device.h"

class PartialRAMDevice : public IODevice
{
	using inherited = IODevice;
 public:
	PartialRAMDevice();
	virtual ~PartialRAMDevice() override;

	bool Init() override;

	uint64 Read8(uint32 addr) override;
	uint64 Read16(uint32 addr) override;
	uint64 Read32(uint32 addr) override;
	uint64 Write8(uint32 addr, uint32 data) override;
	uint64 Write16(uint32 addr, uint32 data) override;
	uint64 Write32(uint32 addr, uint32 data) override;
	uint64 Peek8(uint32 addr) override;

 private:
	inline IODevice *SearchDevice(uint32 addr) const;

	uint32 ram_size {};

	IODevice *ramdev {};
	IODevice *nopdev {};
};

extern PartialRAMDevice *gPartialRAM;

unix.superglobalmegacorp.com

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