Previous 15994 Revisions Next

r9119 Monday 13th September, 2010 at 17:43:06 UTC by Angelo Salese
[PCE]: Fixed Sys Card 3 header
[src/mess/machine]pce.c

src/mess/machine/pce.c
r9118r9119
1414---x ---- bram signal
1515---- x--- ADPCM 2
1616---- -x-- ADPCM 1
17---- --x- CDDA volume
17---- --x- CDDA left/right speaker select
1818
19CD Interface Register 0x05 - CD-DA Volume low 8-bit port
20
21CD Interface Register 0x06 - CD-DA Volume high 8-bit port
22
1923CD Interface Register 0x07 - BRAM unlock / CD status
2024x--- ---- Enables BRAM
2125
2226CD Interface Register 0x0c - ADPCM status
23x--- ---- ?
27x--- ---- ADPCM is reading data
2428---- x--- ADPCM playback (0) stopped (1) currently playing
25---- -x-- CD -> DMA transfer busy flag
29---- -x-- pending ADPCM data write
2630---- ---x ADPCM playback (1) stopped (0) currently playing
2731
2832CD Interface Register 0x0d - ADPCM address control
r9118r9119
12281232
12291233   logerror("%04X: write to CD interface offset %02X, data %02X\n", cpu_get_pc(space->cpu), offset, data );
12301234
1231   switch( offset )
1235   switch( offset & 0xf )
12321236   {
12331237   case 0x00:   /* CDC status */
12341238      /* select device (which bits??) */
r9118r9119
14071411
14081412   pce_cd_update(space->machine);
14091413
1410   if(offset & 0x200 && pce_sys3_card) // emulate Arcade Card
1414   if(offset & 0x200 && pce_sys3_card) // Arcade Card handling
14111415      return pce_cd_acard_r(space,offset);
14121416
14131417   logerror("%04X: read from CD interface offset %02X\n", cpu_get_pc(space->cpu), offset );
14141418
1415   switch( offset )
1419   if((offset & 0xc0) == 0xc0 && pce_sys3_card) //System 3 Card header handling
14161420   {
1421      switch(offset & 0xcf)
1422      {
1423         case 0xc1: return 0xaa;
1424         case 0xc2: return 0x55;
1425         case 0xc3: return 0x00;
1426         case 0xc5: return 0xaa;
1427         case 0xc6: return 0x55;
1428         case 0xc7: return 0x03;
1429      }
1430   }
1431
1432   switch( offset & 0xf )
1433   {
14171434   case 0x00:   /* CDC status */
14181435      data &= 0x07;
14191436      data |= pce_cd.scsi_BSY ? 0x80 : 0;
r9118r9119
14591476   case 0x0E:   /* ADPCM playback rate */
14601477   case 0x0F:   /* ADPCM and CD audio fade timer */
14611478      return 0;
1462   case 0xC1:
1463      data = pce_sys3_card ? 0xAA : 0xFF;
1464      break;
1465   case 0xC2:
1466      data = pce_sys3_card ? 0x55 : 0xFF;
1467      break;
1468   case 0xC5:
1469      data = pce_sys3_card ? 0x55 : 0xFF;
1470      break;
1471   case 0xC6:
1472      data = pce_sys3_card ? 0xAA : 0xFF;
1473      break;
14741479   default:
14751480      data = 0xFF;
14761481      break;

Previous 15994 Revisions Next


© 1998-2018 The MESS Team