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:
TC1995
2025-04-02 21:47:32 +02:00
parent 5158d6b59b
commit 9c8c1a6f40
4 changed files with 23 additions and 21 deletions

View File

@@ -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;

View File

@@ -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;