fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 63 lines 2.7 kB view raw
1/***************************************************************************** 2 * pce * 3 *****************************************************************************/ 4 5/***************************************************************************** 6 * File name: src/devices/nvram.h * 7 * Created: 2003-12-23 by Hampa Hug <hampa@hampa.ch> * 8 * Copyright: (C) 2003-2009 Hampa Hug <hampa@hampa.ch> * 9 *****************************************************************************/ 10 11/***************************************************************************** 12 * This program is free software. You can redistribute it and / or modify it * 13 * under the terms of the GNU General Public License version 2 as published * 14 * by the Free Software Foundation. * 15 * * 16 * This program is distributed in the hope that it will be useful, but * 17 * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 * Public License for more details. * 20 *****************************************************************************/ 21 22 23#ifndef PCE_DEVICES_NVRAM_H 24#define PCE_DEVICES_NVRAM_H 1 25 26 27#include <devices/memory.h> 28 29 30typedef struct { 31 mem_blk_t *mem; 32 33 FILE *fp; 34 int close; 35} nvram_t; 36 37 38void nvr_init (nvram_t *nvr, unsigned long base, unsigned long size); 39nvram_t *nvr_new (unsigned long base, unsigned long size); 40void nvr_free (nvram_t *nvr); 41void nvr_del (nvram_t *nvr); 42 43void nvr_set_endian (nvram_t *nvr, int big); 44 45int nvr_set_file (nvram_t *nvr, FILE *fp, int close); 46int nvr_set_fname (nvram_t *nvr, const char *fname); 47 48mem_blk_t *nvr_get_mem (nvram_t *nvr); 49 50void nvr_set_uint8 (nvram_t *nvr, unsigned long addr, unsigned char val); 51void nvr_set_uint16_be (nvram_t *nvr, unsigned long addr, unsigned short val); 52void nvr_set_uint16_le (nvram_t *nvr, unsigned long addr, unsigned short val); 53void nvr_set_uint32_be (nvram_t *nvr, unsigned long addr, unsigned long val); 54void nvr_set_uint32_le (nvram_t *nvr, unsigned long addr, unsigned long val); 55 56unsigned char nvr_get_uint8 (nvram_t *nvr, unsigned long addr); 57unsigned short nvr_get_uint16_be (nvram_t *nvr, unsigned long addr); 58unsigned short nvr_get_uint16_le (nvram_t *nvr, unsigned long addr); 59unsigned long nvr_get_uint32_be (nvram_t *nvr, unsigned long addr); 60unsigned long nvr_get_uint32_le (nvram_t *nvr, unsigned long addr); 61 62 63#endif