Previous 15994 Revisions Next

r14728 Friday 9th March, 2012 at 13:57:27 UTC by Miodrag Milanović
forced usage of just one cd (no whatsnew)
[src/mess/machine]isa_ide_cd.c isa_ide_cd.h

src/mess/machine/isa_ide_cd.c
r14727r14728
127127         shift=8;
128128         break;
129129      }         
130      if (m_cur_drive==1) return 0x00;
130131      data = atapi_regs[reg];
131132         logerror("ATAPI: reg %d = %x (offset %x mask %x) [read]\n", reg, data, offset, mem_mask);       
132133         data <<= shift;
r14727r14728
270271         data >>= 8;
271272         break;
272273      }         
273 
274      if (reg==6) m_cur_drive = (data & 0x10) >> 4;
275      if (m_cur_drive==1) return;
274276      atapi_regs[reg] = data;
275277         logerror("ATAPI: reg %d = %x (offset %x mask %x)\n", reg, data, offset, mem_mask);
276278 
r14727r14728
313315               atapi_data[ 47 ^ 1 ] = '.';
314316               atapi_data[ 48 ^ 1 ] = '0';
315317               
316               
317318               memset( &atapi_data[ 54 ], ' ', 40 );
318               atapi_data[ 54 ^ 1 ] = 'T';
319               atapi_data[ 55 ^ 1 ] = 'O';
320               atapi_data[ 56 ^ 1 ] = 'S';
321               atapi_data[ 57 ^ 1 ] = 'H';
322               atapi_data[ 58 ^ 1 ] = 'I';
323               atapi_data[ 59 ^ 1 ] = 'B';
324               atapi_data[ 60 ^ 1 ] = 'A';
325               atapi_data[ 61 ^ 1 ] = ' ';
326               atapi_data[ 62 ^ 1 ] = 'X';
327               atapi_data[ 63 ^ 1 ] = 'M';
328               atapi_data[ 64 ^ 1 ] = '-';
329               atapi_data[ 65 ^ 1 ] = '3';
330               atapi_data[ 66 ^ 1 ] = '3';
331               atapi_data[ 67 ^ 1 ] = '0';
332               atapi_data[ 68 ^ 1 ] = '1';
333               atapi_data[ 69 ^ 1 ] = ' ';
319               atapi_data[ 54 ^ 1 ] = 'M';
320               atapi_data[ 55 ^ 1 ] = 'A';
321               atapi_data[ 56 ^ 1 ] = 'M';
322               atapi_data[ 57 ^ 1 ] = 'E';
323               atapi_data[ 58 ^ 1 ] = ' ';
324               atapi_data[ 59 ^ 1 ] = 'C';
325               atapi_data[ 60 ^ 1 ] = 'o';
326               atapi_data[ 61 ^ 1 ] = 'm';
327               atapi_data[ 62 ^ 1 ] = 'p';
328               atapi_data[ 63 ^ 1 ] = 'r';
329               atapi_data[ 64 ^ 1 ] = 'e';
330               atapi_data[ 65 ^ 1 ] = 's';
331               atapi_data[ 66 ^ 1 ] = 's';
332               atapi_data[ 67 ^ 1 ] = 'e';
333               atapi_data[ 68 ^ 1 ] = 'd';
334               atapi_data[ 69 ^ 1 ] = ' ';               
335               atapi_data[ 70 ^ 1 ] = 'C';
336               atapi_data[ 71 ^ 1 ] = 'D';
337               atapi_data[ 72 ^ 1 ] = '-';
338               atapi_data[ 73 ^ 1 ] = 'R';
339               atapi_data[ 74 ^ 1 ] = 'O';
340               atapi_data[ 75 ^ 1 ] = 'M';
334341 
335342               atapi_data[ 98 ^ 1 ] = 0x06; // Word 49=Capabilities, IORDY may be disabled (bit_10), LBA Supported mandatory (bit_9)
336343               atapi_data[ 99 ^ 1 ] = 0x00;
r14727r14728
471478      m_isa->install16_device(0x0170, 0x0177, 0, 0, read16_delegate(FUNC(isa16_ide_cd_device::atapi_r), this), write16_delegate(FUNC(isa16_ide_cd_device::atapi_w), this));       
472479      m_isa->install16_device(0x0370, 0x0377, 0, 0, read16_delegate(FUNC(isa16_ide_cd_device::atapi_status_r), this), write16_delegate(FUNC(isa16_ide_cd_device::atapi_cmd_w), this));       
473480   }
481   m_cur_drive = 0;
474482}
src/mess/machine/isa_ide_cd.h
r14727r14728
8383      /* memory */
8484      UINT8 m_atapi_regs[ATAPI_REG_MAX];
8585      UINT8 m_atapi_data[ATAPI_DATA_SIZE];       
86       
87      int m_cur_drive;
8688};
8789 
8890 

Previous 15994 Revisions Next


© 1998-2018 The MESS Team