Fixed a configuration bug and nerfed the modes of the NEC CDR-260.
This commit is contained in:
@@ -2717,7 +2717,7 @@ save_floppy_and_cdrom_drives(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
sprintf(temp, "cdrom_%02i_early", c + 1);
|
sprintf(temp, "cdrom_%02i_early", c + 1);
|
||||||
if ((cdrom[c].bus_type == 0) || (cdrom[c].early == 1)) {
|
if ((cdrom[c].bus_type == 0) || (cdrom[c].early == 0)) {
|
||||||
ini_section_delete_var(cat, temp);
|
ini_section_delete_var(cat, temp);
|
||||||
} else {
|
} else {
|
||||||
ini_section_set_int(cat, temp, cdrom[c].early);
|
ini_section_set_int(cat, temp, cdrom[c].early);
|
||||||
|
|||||||
@@ -425,7 +425,7 @@ static int
|
|||||||
ide_get_max(ide_t *ide, int type)
|
ide_get_max(ide_t *ide, int type)
|
||||||
{
|
{
|
||||||
if (ide->type == IDE_ATAPI)
|
if (ide->type == IDE_ATAPI)
|
||||||
return ide->get_max(!ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL), type);
|
return ide->get_max(!ide->sc->pad0 && !ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL), type);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case TYPE_PIO: /* PIO */
|
case TYPE_PIO: /* PIO */
|
||||||
@@ -458,7 +458,7 @@ static int
|
|||||||
ide_get_timings(ide_t *ide, int type)
|
ide_get_timings(ide_t *ide, int type)
|
||||||
{
|
{
|
||||||
if (ide->type == IDE_ATAPI)
|
if (ide->type == IDE_ATAPI)
|
||||||
return ide->get_timings(!ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL), type);
|
return ide->get_timings(!ide->sc->pad0 && !ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL), type);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case TIMINGS_DMA:
|
case TIMINGS_DMA:
|
||||||
@@ -584,7 +584,7 @@ ide_identify(ide_t *ide)
|
|||||||
memset(ide->buffer, 0, 512);
|
memset(ide->buffer, 0, 512);
|
||||||
|
|
||||||
if (ide->type == IDE_ATAPI)
|
if (ide->type == IDE_ATAPI)
|
||||||
ide->identify(ide, !ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL));
|
ide->identify(ide, !ide->sc->pad0 && !ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL));
|
||||||
else if (ide->type != IDE_NONE)
|
else if (ide->type != IDE_NONE)
|
||||||
ide_hd_identify(ide);
|
ide_hd_identify(ide);
|
||||||
else {
|
else {
|
||||||
@@ -884,7 +884,7 @@ ide_atapi_attach(ide_t *ide)
|
|||||||
ide->type = IDE_ATAPI;
|
ide->type = IDE_ATAPI;
|
||||||
ide_allocate_buffer(ide);
|
ide_allocate_buffer(ide);
|
||||||
ide_set_signature(ide);
|
ide_set_signature(ide);
|
||||||
ide->mdma_mode = (1 << ide->get_max(ide_boards[ide->board]->force_ata3 || !ide_bm[ide->board], TYPE_PIO));
|
ide->mdma_mode = (1 << ide->get_max(!ide->sc->pad0 && !ide_boards[ide->board]->force_ata3 && (ide_bm[ide->board] != NULL), TYPE_PIO));
|
||||||
ide->error = 1;
|
ide->error = 1;
|
||||||
ide->cfg_spt = ide->cfg_hpc = 0;
|
ide->cfg_spt = ide->cfg_hpc = 0;
|
||||||
#ifndef EARLY_ATAPI
|
#ifndef EARLY_ATAPI
|
||||||
@@ -987,7 +987,7 @@ ide_atapi_callback(ide_t *ide)
|
|||||||
#endif
|
#endif
|
||||||
out = (ide->sc->packet_status & 0x01);
|
out = (ide->sc->packet_status & 0x01);
|
||||||
|
|
||||||
if (!ide_boards[ide->board]->force_ata3 && ide_bm[ide->board] && ide_bm[ide->board]->dma) {
|
if (!ide->sc->pad0 && !ide_boards[ide->board]->force_ata3 && ide_bm[ide->board] && ide_bm[ide->board]->dma) {
|
||||||
ret = ide_bm[ide->board]->dma(ide->board,
|
ret = ide_bm[ide->board]->dma(ide->board,
|
||||||
ide->sc->temp_buffer, ide->sc->packet_len,
|
ide->sc->temp_buffer, ide->sc->packet_len,
|
||||||
out, ide_bm[ide->board]->priv);
|
out, ide_bm[ide->board]->priv);
|
||||||
|
|||||||
Reference in New Issue
Block a user