mirror of
https://github.com/romychs/SprinterESP.git
synced 2025-04-18 01:32:42 +03:00
84 lines
1.2 KiB
C
84 lines
1.2 KiB
C
#pragma nonrec
|
|
|
|
#define port_isa 0x9FBD
|
|
#define port_system 0x1FFD
|
|
#define isa_addr_base 0xC000
|
|
#define com3_addr_base 0x3E8
|
|
#define emm_win_p3 0xE2
|
|
#define port_serial 0xC3E8
|
|
|
|
#define RBR port_serial
|
|
#define THR port_serial
|
|
#define IER port_serial+1
|
|
#define IIR port_serial+2
|
|
#define FCR port_serial+2
|
|
#define LCR port_serial+3
|
|
#define MCR port_serial+4
|
|
#define LSR port_serial+5
|
|
#define MSR port_serial+6
|
|
#define SCR port_serial+7
|
|
#define DLL port_serial
|
|
#define DLM port_serial+1
|
|
#define AFR port_serial+2
|
|
|
|
#define BAUD_RATE 115200
|
|
#define XIN_FREQ 14745600
|
|
#define DIVISOR XIN_FREQ / (BAUD_RATE * 16)
|
|
|
|
|
|
/**
|
|
* Small delay
|
|
*/
|
|
void delay();
|
|
|
|
/**
|
|
* Reset ISA device
|
|
*/
|
|
void reset_isa();
|
|
|
|
/*
|
|
* Open access to ISA ports as memory
|
|
*/
|
|
void open_isa();
|
|
|
|
/*
|
|
* Close access to ISA ports
|
|
*/
|
|
void close_isa();
|
|
|
|
/*
|
|
* Init ISA device
|
|
*/
|
|
void init_isa();
|
|
|
|
/*
|
|
* Init UART device TL16C550
|
|
*/
|
|
void init_serial();
|
|
|
|
/*
|
|
* Read TL16C550 register
|
|
*/
|
|
char read_reg();
|
|
|
|
/*
|
|
* Write TL16C550 register
|
|
*/
|
|
void write_reg();
|
|
|
|
/*
|
|
* Wait for transmitter ready
|
|
*/
|
|
void wait_tr();
|
|
|
|
/*
|
|
* Clear receiver FIFO buffer
|
|
*/
|
|
void empty_rs();
|
|
|
|
/*
|
|
* Wait byte in receiver fifo
|
|
*/
|
|
void wait_rs();
|
|
|