File:  [Isaki's NoNo m68k/m88k emulator] / nono / vm / zram.h
Revision 1.1.1.6 (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
//

//
// 3ポート共有 RAM
//

#pragma once

#include "device.h"

class ZRAMDevice : public IODevice
{
	using inherited = IODevice;
 public:
	ZRAMDevice();
	virtual ~ZRAMDevice() 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:
	// アドレスデコーダ
	uint64 Decoder(uint32 addr) const;

	std::unique_ptr<uint8[]> ram {};
};

extern ZRAMDevice *gZRAM;

unix.superglobalmegacorp.com

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