File:  [Previous NeXT emulator] / previous / src / dimension / dimension.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:31:32 2018 UTC (8 years, 3 months ago) by root
Branches: giles, MAIN
CVS tags: branch_realtime, HEAD
Previous NeXT emulator

#pragma once

#ifndef __DIMENSION_H__
#define __DIMENSION_H__

#define ND_SLOT 2

/* NeXTdimension memory controller revision (0 and 1 allowed) */
#define ND_STEP 1

Uint32 nd_slot_lget(Uint32 addr);
Uint16 nd_slot_wget(Uint32 addr);
Uint8  nd_slot_bget(Uint32 addr);
void   nd_slot_lput(Uint32 addr, Uint32 l);
void   nd_slot_wput(Uint32 addr, Uint16 w);
void   nd_slot_bput(Uint32 addr, Uint8 b);

Uint32 nd_board_lget(Uint32 addr);
Uint16 nd_board_wget(Uint32 addr);
Uint8  nd_board_bget(Uint32 addr);
void   nd_board_lput(Uint32 addr, Uint32 l);
void   nd_board_wput(Uint32 addr, Uint16 w);
void   nd_board_bput(Uint32 addr, Uint8 b);
Uint8  nd_board_cs8get(Uint32 addr);
    
void   nd_board_rd8_le  (Uint32 addr, Uint32* val);
void   nd_board_rd16_le (Uint32 addr, Uint32* val);
void   nd_board_rd32_le (Uint32 addr, Uint32* val);
void   nd_board_rd64_le (Uint32 addr, Uint32* val);
void   nd_board_rd128_le(Uint32 addr, Uint32* val);

void   nd_board_rd8_be  (Uint32 addr, Uint32* val);
void   nd_board_rd16_be (Uint32 addr, Uint32* val);
void   nd_board_rd32_be (Uint32 addr, Uint32* val);
void   nd_board_rd64_be (Uint32 addr, Uint32* val);
void   nd_board_rd128_be(Uint32 addr, Uint32* val);

void   nd_board_wr8_le  (Uint32 addr, const Uint32* val);
void   nd_board_wr16_le (Uint32 addr, const Uint32* val);
void   nd_board_wr32_le (Uint32 addr, const Uint32* val);
void   nd_board_wr64_le (Uint32 addr, const Uint32* val);
void   nd_board_wr128_le(Uint32 addr, const Uint32* val);
    
void   nd_board_wr8_be  (Uint32 addr, const Uint32* val);
void   nd_board_wr16_be (Uint32 addr, const Uint32* val);
void   nd_board_wr32_be (Uint32 addr, const Uint32* val);
void   nd_board_wr64_be (Uint32 addr, const Uint32* val);
void   nd_board_wr128_be(Uint32 addr, const Uint32* val);

extern Uint8  ND_ram[64*1024*1024];
extern Uint8  ND_rom[128*1024];
extern Uint8  ND_vram[4*1024*1024];

typedef void (*i860_run_func)(int);
extern i860_run_func i860_Run;

void dimension_init(void);
void dimension_uninit(void);
void dimension_pause(bool pause);
void nd_i860_init(void);
void nd_i860_uninit(void);
void nd_i860_pause(bool pause);
void i860_reset(void);
void i860_interrupt(void);
void nd_start_debugger(void);
const char* nd_reports(double realTime, double hostTime);

#define ND_LOG_IO_RD LOG_NONE
#define ND_LOG_IO_WR LOG_NONE

#endif /* __DIMENSION_H__ */

unix.superglobalmegacorp.com

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