mirror of
https://github.com/captain-amygdala/pistorm.git
synced 2026-04-15 16:09:58 +00:00
82 lines
2.0 KiB
C
82 lines
2.0 KiB
C
#ifndef _PS_PROTOCOL_H
|
|
#define _PS_PROTOCOL_H
|
|
|
|
// REG_STATUS
|
|
#define STATUS_IS_BM (1 << 0)
|
|
#define STATUS_RESET (1 << 1)
|
|
#define STATUS_HALT (1 << 2)
|
|
#define STATUS_IPL_MASK (7 << 3)
|
|
#define STATUS_IPL_SHIFT 3
|
|
#define STATUS_TERM_NORMAL (1 << 6)
|
|
#define STATUS_REQ_ACTIVE (1 << 7)
|
|
|
|
// REG_CONTROL
|
|
#define CONTROL_REQ_BM (1 << 0)
|
|
#define CONTROL_DRIVE_RESET (1 << 1)
|
|
#define CONTROL_DRIVE_HALT (1 << 2)
|
|
#define CONTROL_DRIVE_INT2 (1 << 3)
|
|
#define CONTROL_DRIVE_INT6 (1 << 4)
|
|
|
|
|
|
#define PIN_IPL0 0
|
|
#define PIN_IPL1 1
|
|
#define PIN_IPL2 2
|
|
#define PIN_TXN 3
|
|
#define PIN_KBRESET 4
|
|
#define SER_OUT_BIT 5 //debug EMU68
|
|
#define PIN_RD 6
|
|
#define PIN_WR 7
|
|
#define PIN_D(x) (8 + x)
|
|
#define PIN_A(x) (24 + x)
|
|
#define SER_OUT_CLK 27 //debug EMU68
|
|
|
|
|
|
#define PIN_CRESET1 6
|
|
#define PIN_CRESET2 7
|
|
#define PIN_TESTN 17
|
|
#define PIN_CCK 22
|
|
#define PIN_SS 24
|
|
#define PIN_CBUS0 14
|
|
#define PIN_CBUS1 15
|
|
#define PIN_CBUS2 18
|
|
#define PIN_CDI0 10
|
|
#define PIN_CDI1 25
|
|
#define PIN_CDI2 9
|
|
#define PIN_CDI3 8
|
|
#define PIN_CDI4 11
|
|
#define PIN_CDI5 1
|
|
#define PIN_CDI6 16
|
|
#define PIN_CDI7 13
|
|
|
|
|
|
unsigned int ps_read_8(unsigned int address);
|
|
unsigned int ps_read_16(unsigned int address);
|
|
unsigned int ps_read_32(unsigned int address);
|
|
|
|
void ps_write_8(unsigned int address, unsigned int data);
|
|
void ps_write_16(unsigned int address, unsigned int data);
|
|
void ps_write_32(unsigned int address, unsigned int data);
|
|
|
|
unsigned int ps_read_status();
|
|
void ps_set_control(unsigned int value);
|
|
void ps_clr_control(unsigned int value);
|
|
|
|
void ps_setup_protocol();
|
|
void ps_reset_state_machine();
|
|
void ps_pulse_reset();
|
|
|
|
void ps_efinix_setup();
|
|
void ps_efinix_write(unsigned char data_out);
|
|
void ps_efinix_load(char* buffer, long length);
|
|
|
|
#define read8 ps_read_8
|
|
#define read16 ps_read_16
|
|
#define read32 ps_read_32
|
|
|
|
#define write8 ps_write_8
|
|
#define write16 ps_write_16
|
|
#define write32 ps_write_32
|
|
|
|
|
|
#endif /* _PS_PROTOCOL_H */
|