Trantor SCSI changes of the day (April 2nd, 2025)
1. The PAS SCSI controller driver mamv1.sys dislikes having bits 0-6 set when a transfer has completed, take account from this, fixes mamv1.sys incomplete CD transfers (bits 0-6 get re-enabled when the transfer is ongoing). 2. I now understand why the T128 doesn't have a block count register, it does the block count manually from the SCSI layer directly, this fixes Pseudo-DMA transfers when using, e.g.: CD transfers using a sector size of 2340 bytes.
This commit is contained in:
@@ -467,9 +467,10 @@ typedef struct scsi_bus_t {
|
||||
int msgout_pos;
|
||||
int is_msgout;
|
||||
int state;
|
||||
int dma_on_pio_enabled;
|
||||
|
||||
uint32_t bus_phase;
|
||||
uint32_t total_len;
|
||||
uint32_t data_repeat;
|
||||
|
||||
double period;
|
||||
double speed;
|
||||
|
||||
@@ -30,7 +30,7 @@ typedef struct t128_t {
|
||||
uint8_t status;
|
||||
uint8_t buffer[512];
|
||||
uint8_t ext_ram[0x80];
|
||||
uint8_t block_count;
|
||||
uint32_t block_count;
|
||||
|
||||
int block_loaded;
|
||||
int pos, host_pos;
|
||||
@@ -39,6 +39,7 @@ typedef struct t128_t {
|
||||
|
||||
int bios_enabled;
|
||||
uint8_t pos_regs[8];
|
||||
int type;
|
||||
|
||||
pc_timer_t timer;
|
||||
} t128_t;
|
||||
|
||||
Reference in New Issue
Block a user