32bit length for HPS-FPGA block transfer functions.
This commit is contained in:
8
spi.cpp
8
spi.cpp
@@ -162,11 +162,11 @@ void spi_n(uint8_t value, uint16_t cnt)
|
||||
while (cnt--) spi_b(value);
|
||||
}
|
||||
|
||||
void spi_read(uint8_t *addr, uint16_t len, int wide)
|
||||
void spi_read(uint8_t *addr, uint32_t len, int wide)
|
||||
{
|
||||
if (wide)
|
||||
{
|
||||
uint16_t len16 = len >> 1;
|
||||
uint32_t len16 = len >> 1;
|
||||
uint16_t *a16 = (uint16_t*)addr;
|
||||
while (len16--) *a16++ = spi_w(0);
|
||||
if (len & 1) *((uint8_t*)a16) = spi_w(0);
|
||||
@@ -177,11 +177,11 @@ void spi_read(uint8_t *addr, uint16_t len, int wide)
|
||||
}
|
||||
}
|
||||
|
||||
void spi_write(const uint8_t *addr, uint16_t len, int wide)
|
||||
void spi_write(const uint8_t *addr, uint32_t len, int wide)
|
||||
{
|
||||
if (wide)
|
||||
{
|
||||
uint16_t len16 = len >> 1;
|
||||
uint32_t len16 = len >> 1;
|
||||
uint16_t *a16 = (uint16_t*)addr;
|
||||
while (len16--) spi_w(*a16++);
|
||||
if(len & 1) spi_w(*((uint8_t*)a16));
|
||||
|
||||
4
spi.h
4
spi.h
@@ -39,8 +39,8 @@ void spi32_b(uint32_t parm);
|
||||
uint32_t spi32_w(uint32_t parm);
|
||||
|
||||
/* block transfer functions */
|
||||
void spi_read(uint8_t *addr, uint16_t len, int wide);
|
||||
void spi_write(const uint8_t *addr, uint16_t len, int wide);
|
||||
void spi_read(uint8_t *addr, uint32_t len, int wide);
|
||||
void spi_write(const uint8_t *addr, uint32_t len, int wide);
|
||||
void spi_block_read(uint8_t *addr, int wide, int sz = 512);
|
||||
void spi_block_write(const uint8_t *addr, int wide, int sz = 512);
|
||||
|
||||
|
||||
@@ -340,7 +340,7 @@ static void rom_finish(int send, uint32_t address, int index)
|
||||
{
|
||||
ProgressMessage("Sending", str, len - romlen[0], len);
|
||||
|
||||
uint16_t chunk = (romlen[0] > 4096) ? 4096 : romlen[0];
|
||||
uint32_t chunk = (romlen[0] > 4096) ? 4096 : romlen[0];
|
||||
user_io_file_tx_data(data, chunk);
|
||||
|
||||
romlen[0] -= chunk;
|
||||
|
||||
12
user_io.cpp
12
user_io.cpp
@@ -1446,7 +1446,7 @@ void user_io_set_download(unsigned char enable, int addr)
|
||||
DisableFpga();
|
||||
}
|
||||
|
||||
void user_io_file_tx_data(const uint8_t *addr, uint16_t len)
|
||||
void user_io_file_tx_data(const uint8_t *addr, uint32_t len)
|
||||
{
|
||||
EnableFpga();
|
||||
spi8(FIO_FILE_TX_DAT);
|
||||
@@ -1467,7 +1467,7 @@ void user_io_set_upload(unsigned char enable, int addr)
|
||||
DisableFpga();
|
||||
}
|
||||
|
||||
void user_io_file_rx_data(uint8_t *addr, uint16_t len)
|
||||
void user_io_file_rx_data(uint8_t *addr, uint32_t len)
|
||||
{
|
||||
EnableFpga();
|
||||
spi8(FIO_FILE_TX_DAT);
|
||||
@@ -2036,7 +2036,7 @@ int user_io_file_tx_a(const char* name, uint16_t index)
|
||||
if (use_progress) ProgressMessage(0, 0, 0, 0);
|
||||
while (bytes2send)
|
||||
{
|
||||
uint16_t chunk = (bytes2send > sizeof(buf)) ? sizeof(buf) : bytes2send;
|
||||
uint32_t chunk = (bytes2send > sizeof(buf)) ? sizeof(buf) : bytes2send;
|
||||
|
||||
FileReadAdv(&f, buf, chunk);
|
||||
user_io_file_tx_data(buf, chunk);
|
||||
@@ -2127,7 +2127,7 @@ int user_io_file_tx(const char* name, unsigned char index, char opensave, char m
|
||||
uint32_t sz = fb.size;
|
||||
while (sz)
|
||||
{
|
||||
uint16_t chunk = (sz > sizeof(buf)) ? sizeof(buf) : sz;
|
||||
uint32_t chunk = (sz > sizeof(buf)) ? sizeof(buf) : sz;
|
||||
FileReadAdv(&fb, buf, chunk);
|
||||
user_io_file_tx_data(buf, chunk);
|
||||
sz -= chunk;
|
||||
@@ -2193,7 +2193,7 @@ int user_io_file_tx(const char* name, unsigned char index, char opensave, char m
|
||||
uint32_t sz = fg.size;
|
||||
while (sz)
|
||||
{
|
||||
uint16_t chunk = (sz > sizeof(buf)) ? sizeof(buf) : sz;
|
||||
uint32_t chunk = (sz > sizeof(buf)) ? sizeof(buf) : sz;
|
||||
FileReadAdv(&fg, buf, chunk);
|
||||
user_io_file_tx_data(buf, chunk);
|
||||
sz -= chunk;
|
||||
@@ -2227,7 +2227,7 @@ int user_io_file_tx(const char* name, unsigned char index, char opensave, char m
|
||||
{
|
||||
while (dosend && bytes2send)
|
||||
{
|
||||
uint16_t chunk = (bytes2send > sizeof(buf)) ? sizeof(buf) : bytes2send;
|
||||
uint32_t chunk = (bytes2send > sizeof(buf)) ? sizeof(buf) : bytes2send;
|
||||
|
||||
FileReadAdv(&f, buf, chunk);
|
||||
if (is_snes() && is_snes_bs) snes_patch_bs_header(&f, buf);
|
||||
|
||||
@@ -227,9 +227,9 @@ unsigned char user_io_ext_idx(char *, char*);
|
||||
void user_io_set_index(unsigned char index);
|
||||
void user_io_set_aindex(uint16_t index);
|
||||
void user_io_set_download(unsigned char enable, int addr = 0);
|
||||
void user_io_file_tx_data(const uint8_t *addr, uint16_t len);
|
||||
void user_io_file_tx_data(const uint8_t *addr, uint32_t len);
|
||||
void user_io_set_upload(unsigned char enable, int addr = 0);
|
||||
void user_io_file_rx_data(uint8_t *addr, uint16_t len);
|
||||
void user_io_file_rx_data(uint8_t *addr, uint32_t len);
|
||||
void user_io_file_info(const char *ext);
|
||||
int user_io_get_width();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user