diff options
Diffstat (limited to 'src/mame/drivers/drgnmst.cpp')
-rw-r--r-- | src/mame/drivers/drgnmst.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/mame/drivers/drgnmst.cpp b/src/mame/drivers/drgnmst.cpp index da0bfcfca3d..fb75a8d4e01 100644 --- a/src/mame/drivers/drgnmst.cpp +++ b/src/mame/drivers/drgnmst.cpp @@ -461,21 +461,19 @@ uint8_t drgnmst_state::drgnmst_asciitohex( uint8_t data ) } -DRIVER_INIT_MEMBER(drgnmst_state,drgnmst) +void drgnmst_state::init_drgnmst() { uint8_t *drgnmst_PICROM_HEX = memregion("user1")->base(); uint16_t *drgnmst_PICROM = (uint16_t *)memregion("audiocpu")->base(); uint8_t *drgnmst_PCM = memregion("oki1")->base(); - int32_t offs, data; uint16_t src_pos = 0; uint16_t dst_pos = 0; - uint8_t data_hi, data_lo; /* Configure the OKI-0 PCM data into a MAME friendly bank format */ /* $00000-1ffff is the same through all banks */ /* $20000-3ffff in each bank is actually the switched area */ - for (offs = 0x1ffff; offs >= 0; offs--) + for (int32_t offs = 0x1ffff; offs >= 0; offs--) { drgnmst_PCM[0x120000 + offs] = drgnmst_PCM[0xa0000 + offs]; drgnmst_PCM[0x100000 + offs] = drgnmst_PCM[0x00000 + offs]; @@ -496,16 +494,18 @@ DRIVER_INIT_MEMBER(drgnmst_state,drgnmst) { src_pos += 9; - for (offs = 0; offs < 32; offs += 4) + for (int32_t offs = 0; offs < 32; offs += 4) { - data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 0])); - data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 1])); - if ((data_hi <= 0x0f) && (data_lo <= 0x0f)) { - data = (data_hi << 4) | (data_lo << 0); + uint8_t data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 0])); + uint8_t data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 1])); + if ((data_hi <= 0x0f) && (data_lo <= 0x0f)) + { + int32_t data = (data_hi << 4) | (data_lo << 0); data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 2])); data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + offs + 3])); - if ((data_hi <= 0x0f) && (data_lo <= 0x0f)) { + if ((data_hi <= 0x0f) && (data_lo <= 0x0f)) + { data |= (data_hi << 12) | (data_lo << 8); drgnmst_PICROM[dst_pos] = data; dst_pos += 1; @@ -524,9 +524,9 @@ DRIVER_INIT_MEMBER(drgnmst_state,drgnmst) { src_pos += 9; - data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 0])); - data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 1])); - data = (data_hi << 4) | (data_lo << 0); + uint8_t data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 0])); + uint8_t data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 1])); + int32_t data = (data_hi << 4) | (data_lo << 0); data_hi = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 2])); data_lo = drgnmst_asciitohex((drgnmst_PICROM_HEX[src_pos + 3])); data |= (data_hi << 12) | (data_lo << 8); @@ -540,4 +540,4 @@ DRIVER_INIT_MEMBER(drgnmst_state,drgnmst) } -GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst_state, drgnmst, ROT0, "Unico", "Dragon Master", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst_state, init_drgnmst, ROT0, "Unico", "Dragon Master", MACHINE_SUPPORTS_SAVE ) |