Files
dosbox-x/ref/pc98-pegc-256-color/pegc.h
Jonathan Campbell 057ae46067 Documentation
2020-05-03 02:10:54 -07:00

48 lines
1.4 KiB
C

#pragma once
#ifdef SUPPORT_PEGC
#define PEGC_REG_PPM_BANK_A8 0x000 // mio1 E0004h
#define PEGC_REG_PPM_BANK_B0 0x002 // mio1 E0006h
#define PEGC_REG_MODE 0x000 // mio2 E0100h
#define PEGC_REG_VRAM_ENABLE 0x002 // mio2 E0102h
#define PEGC_REG_PLANE_ACCESS 0x004 // mio2 E0104h
// mio2 E0106h
#define PEGC_REG_PLANE_ROP 0x008 // mio2 E0108h
#define PEGC_REG_DATASELECT 0x00A // mio2 E010Ah
#define PEGC_REG_MASK 0x00C // mio2 E010Ch
// mio2 E010Eh
#define PEGC_REG_LENGTH 0x010 // mio2 E0110h
#define PEGC_REG_SHIFT 0x012 // mio2 E0112h
#define PEGC_REG_PALETTE1 0x014 // mio2 E0114h
// mio2 E0116h
#define PEGC_REG_PALETTE2 0x018 // mio2 E0118h
#define PEGC_REG_PATTERN 0x020 // mio2 E0120h
typedef struct {
UINT8 enable; // PEGCプレーンモード使用可能
UINT8 lastdata[64]; // PEGCプレーンモード 最後にVRAMから読み取ったデータ
SINT32 lastdatalen; // PEGCプレーンモード 読み取り済みデータ長さ
UINT32 remain; // PEGCプレーンモード 転送データ残り?
} _PEGC, *PEGC;
#ifdef __cplusplus
extern "C" {
#endif
REG16 MEMCALL pegc_memvgaplane_rd16(UINT32 address);
void MEMCALL pegc_memvgaplane_wr16(UINT32 address, REG16 value);
UINT32 MEMCALL pegc_memvgaplane_rd32(UINT32 address);
void MEMCALL pegc_memvgaplane_wr32(UINT32 address, UINT32 value);
void pegc_reset(const NP2CFG *pConfig);
void pegc_bind(void);
#ifdef __cplusplus
}
#endif
#endif