diff --git a/spi.cpp b/spi.cpp index 73c75f0..5afcffb 100644 --- a/spi.cpp +++ b/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)); diff --git a/spi.h b/spi.h index e013941..55bb4c5 100644 --- a/spi.h +++ b/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); diff --git a/support/arcade/mra_loader.cpp b/support/arcade/mra_loader.cpp index 0aa7211..3f578a8 100644 --- a/support/arcade/mra_loader.cpp +++ b/support/arcade/mra_loader.cpp @@ -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; diff --git a/user_io.cpp b/user_io.cpp index 16a9113..c8cea82 100644 --- a/user_io.cpp +++ b/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); diff --git a/user_io.h b/user_io.h index 52824cf..d69755b 100644 --- a/user_io.h +++ b/user_io.h @@ -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();