summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/drgnmst.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/drgnmst.cpp')
-rw-r--r--src/mame/drivers/drgnmst.cpp28
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 )