mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-14 02:17:36 +08:00
48 lines
1.4 KiB
C
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 |