Skip to content

Commit 5c3ad91

Browse files
sound/tms320av110: Simplify register field masking
Use BIT for single-bit register values and direct masks for multi-bit fields instead of generic width-based constants.
1 parent d1f9e97 commit 5c3ad91

1 file changed

Lines changed: 7 additions & 13 deletions

File tree

src/devices/sound/tms320av110.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,6 @@ constexpr offs_t REG_PCM_DIV = 0x6e; // PCM clock divider
6565
constexpr offs_t REG_DIF = 0x6f; // 18-bit PCM justification
6666
constexpr offs_t REG_SIN_EN = 0x70; // serial compressed-data input enable
6767

68-
constexpr u8 SINGLE_BIT_MASK = 0x01;
69-
constexpr u8 TWO_BIT_MASK = 0x03;
70-
constexpr u8 THREE_BIT_MASK = 0x07;
71-
constexpr u8 FIVE_BIT_MASK = 0x1f;
72-
constexpr u8 SIX_BIT_MASK = 0x3f;
73-
7468
// Without external DRAM, the on-chip compressed-data input SRAM is 256 bytes.
7569
constexpr unsigned INPUT_BUFFER_BYTES_WITHOUT_DRAM = 256;
7670
// The supported external DRAM is 256K locations by four bits.
@@ -501,24 +495,24 @@ void tms320av110_device::write(offs_t offset, u8 data)
501495
break;
502496

503497
case REG_FREE_FORM_H:
504-
m_decoder->registers[offset] = data & THREE_BIT_MASK;
498+
m_decoder->registers[offset] = data & 0x07;
505499
break;
506500

507501
case REG_SYNC_LCK:
508502
case REG_CRC_ECM:
509503
case REG_SYNC_ECM:
510504
case REG_STR_SEL:
511-
m_decoder->registers[offset] = data & TWO_BIT_MASK;
505+
m_decoder->registers[offset] = data & 0x03;
512506
break;
513507

514508
case REG_AUD_ID:
515-
m_decoder->registers[offset] = data & FIVE_BIT_MASK;
509+
m_decoder->registers[offset] = data & 0x1f;
516510
break;
517511

518512
case REG_ATTEN_L:
519513
case REG_ATTEN_R:
520514
case REG_PCM_DIV:
521-
m_decoder->registers[offset] = data & SIX_BIT_MASK;
515+
m_decoder->registers[offset] = data & 0x3f;
522516
break;
523517

524518
case REG_PCM_18:
@@ -531,16 +525,16 @@ void tms320av110_device::write(offs_t offset, u8 data)
531525
case REG_LATENCY:
532526
case REG_DIF:
533527
case REG_SIN_EN:
534-
m_decoder->registers[offset] = data & SINGLE_BIT_MASK;
528+
m_decoder->registers[offset] = data & 0x01;
535529
break;
536530

537531
case REG_RESET:
538-
if (data & SINGLE_BIT_MASK)
532+
if (data & 0x01)
539533
start_reset(false);
540534
break;
541535

542536
case REG_RESTART:
543-
if (data & SINGLE_BIT_MASK)
537+
if (data & 0x01)
544538
start_restart();
545539
break;
546540

0 commit comments

Comments
 (0)