A few small formatting cleanups and scope reductions.

This commit is contained in:
Vas Crabb 2022-11-18 04:15:37 +11:00
parent 649ec6fcb2
commit 58df32d790
4 changed files with 136 additions and 138 deletions

View File

@ -14,9 +14,33 @@ TODO:
#include "dmk_dsk.h"
#include "coretmpl.h"
#include "ioprocs.h"
#include "coretmpl.h"
namespace {
uint32_t wide_fm(uint16_t val)
{
uint32_t res = 0;
for (int i = 15; i >= 0; i--) {
res |= (util::BIT(val, i) << (i*2 + 1));
}
return res;
}
uint32_t data_to_wide_fm(uint8_t val)
{
uint16_t res = 0xaaaa; // clock
for (int i = 7; i >= 0; i--) {
res |= (util::BIT(val, i) << i*2); // data
}
return wide_fm(res);
}
} // anonymous namespace
dmk_format::dmk_format()
{
@ -83,24 +107,6 @@ int dmk_format::identify(util::random_read &io, uint32_t form_factor, const std:
}
uint32_t dmk_format::wide_fm(uint16_t val)
{
uint32_t res = 0;
for (int i = 15; i >= 0; i--) {
res |= (util::BIT(val, i) << (i*2 + 1));
}
return res;
}
uint32_t dmk_format::data_to_wide_fm(uint8_t val)
{
uint16_t res = 0xaaaa; // clock
for (int i = 7; i >= 0; i--) {
res |= (util::BIT(val, i) << i*2); // data
}
return wide_fm(res);
}
bool dmk_format::load(util::random_read &io, uint32_t form_factor, const std::vector<uint32_t> &variants, floppy_image *image) const
{
size_t actual;

View File

@ -28,9 +28,6 @@ public:
virtual const char *description() const override;
virtual const char *extensions() const override;
virtual bool supports_save() const override;
protected:
static uint32_t wide_fm(uint16_t val);
static uint32_t data_to_wide_fm(uint8_t val);
};
extern const dmk_format FLOPPY_DMK_FORMAT;

View File

@ -247,7 +247,7 @@ with settings like this in the majority of cases.
void mpu4_state::lamp_extend_small(uint8_t data)
{
uint8_t lamp_ext_data,column,i;
uint8_t lamp_ext_data, column;
column = data & 0x07;
lamp_ext_data = 0x1f - ((data & 0xf8) >> 3);//remove the mux lines from the data
@ -256,12 +256,12 @@ void mpu4_state::lamp_extend_small(uint8_t data)
{
//One write to reset the drive lines, one with the data, one to clear the lines, so only the 2nd write does anything
//TODO: PWM
for (i = 0; i < 5; i++)
for (int i = 0; i < 5; i++)
{
m_lamps[(8*column)+i+128] = BIT(lamp_ext_data, i);
m_lamps[(8*column) + i + 128] = BIT(lamp_ext_data, i);
}
}
m_lamp_strobe_ext_persistence ++;
m_lamp_strobe_ext_persistence++;
if ((m_lamp_strobe_ext_persistence == 3)||(m_lamp_strobe_ext[0] != column))
{
m_lamp_strobe_ext_persistence = 0;
@ -269,20 +269,20 @@ void mpu4_state::lamp_extend_small(uint8_t data)
}
}
void mpu4_state::lamp_extend_large(uint8_t data,uint8_t column,bool active)
void mpu4_state::lamp_extend_large(uint8_t data, uint8_t column, bool active)
{
m_lamp_sense = false;
uint8_t bit7 = BIT(data, 7);
if ( bit7 != m_last_b7 )
if (bit7 != m_last_b7)
{
m_card_live = true;
//depending on bit 7, we can access one of two 'blocks' of 64 lamps
uint8_t lampbase = bit7 ? 0 : 64;
if ( data & 0x3f )
if (data & 0x3f)
{
m_lamp_sense = true;
}
if ( active )
if (active)
{
if (m_lamp_strobe_ext[bit7] != column)
{
@ -304,17 +304,15 @@ void mpu4_state::lamp_extend_large(uint8_t data,uint8_t column,bool active)
void mpu4_state::led_write_extender(uint8_t latch, uint8_t data, uint8_t starting_column)
{
uint8_t diff,i,j, ext_strobe;
diff = (latch ^ m_last_latch) & latch;
ext_strobe = (7 - starting_column) * 8;
const uint8_t diff = (latch ^ m_last_latch) & latch;
const uint8_t ext_strobe = (7 - starting_column) * 8;
data = ~data;//invert drive lines
for (i=0; i<5; i++)
for (int i = 0; i < 5; i++)
{
if (diff & (1<<i))
if (BIT(diff, i))
{
for (j=0; j<8; j++)
for (int j = 0; j < 8; j++)
{
m_mpu4leds[(ext_strobe + i) | j], BIT(data, j);
}
@ -328,20 +326,19 @@ void mpu4_state::led_write_extender(uint8_t latch, uint8_t data, uint8_t startin
void mpu4_state::update_meters()
{
uint8_t meter;
uint8_t data = ((m_mmtr_data & 0x7f) | m_remote_meter);
switch (m_reel_mux)
{
case STANDARD_REEL:
if (m_hopper_type != TUBES)
{
data = (data & 0x0F); //Strip reel data from meter drives, leaving active elements
data = (data & 0x0f); //Strip reel data from meter drives, leaving active elements
}
break;
case FIVE_REEL_5TO8:
m_reel[4]->update(((data >> 4) & 0x0f));
data = (data & 0x0F); //Strip reel data from meter drives, leaving active elements
data = (data & 0x0f); //Strip reel data from meter drives, leaving active elements
awp_draw_reel(machine(),"reel5", *m_reel[4]);
break;
@ -369,7 +366,7 @@ void mpu4_state::update_meters()
case SIX_REEL_5TO8: // m_reel[4] for this case is already handled in pia_ic5_porta_w
m_reel[4]->update(((data >> 4) & 0x0f));
//data = 0x00; //Strip all reel data from meter drives
data = (data & 0x0F);
data = (data & 0x0f);
awp_draw_reel(machine(),"reel5", *m_reel[4]);
break;
#endif
@ -388,14 +385,14 @@ void mpu4_state::update_meters()
m_meters->update(7, (data & 0x80));
for (meter = 0; meter < 4; meter ++)
for (int meter = 0; meter < 4; meter ++)
{
m_meters->update(meter, (data & (1 << meter)));
}
if (m_reel_mux == STANDARD_REEL)
{
for (meter = 4; meter < 7; meter ++)
for (int meter = 4; meter < 7; meter ++)
{
m_meters->update(meter, (data & (1 << meter)));
}
@ -403,7 +400,7 @@ void mpu4_state::update_meters()
}
/* called if board is reset */
MACHINE_RESET_MEMBER(mpu4_state,mpu4)
MACHINE_RESET_MEMBER(mpu4_state, mpu4)
{
m_vfd->reset();
@ -522,8 +519,7 @@ WRITE_LINE_MEMBER(mpu4_state::ic2_o3_callback)
/* IC3, lamp data lines + alpha numeric display */
void mpu4_state::pia_ic3_porta_w(uint8_t data)
{
uint8_t i;
LOG_IC3(("%s: IC3 PIA Port A Set to %2x (lamp strobes 1 - 9)\n", machine().describe_context(),data));
LOG_IC3(("%s: IC3 PIA Port A Set to %2x (lamp strobes 1 - 9)\n", machine().describe_context(), data));
if(m_ic23_active)
{
@ -537,7 +533,7 @@ void mpu4_state::pia_ic3_porta_w(uint8_t data)
if (m_undercurrent_detect) m_undercurrent = true;
for (i = 0; i < 8; i++)
for (int i = 0; i < 8; i++)
{
m_lamps[(8*m_input_strobe)+i] = BIT(data, i);
}
@ -548,10 +544,9 @@ void mpu4_state::pia_ic3_porta_w(uint8_t data)
void mpu4_state::pia_ic3_portb_w(uint8_t data)
{
uint8_t i;
LOG_IC3(("%s: IC3 PIA Port B Set to %2x (lamp strobes 10 - 17)\n", machine().describe_context(),data));
LOG_IC3(("%s: IC3 PIA Port B Set to %2x (lamp strobes 10 - 17)\n", machine().describe_context(), data));
if(m_ic23_active)
if (m_ic23_active)
{
if (m_lamp_strobe2 != m_input_strobe)
{
@ -559,7 +554,7 @@ void mpu4_state::pia_ic3_portb_w(uint8_t data)
if (m_undercurrent_detect) m_undercurrent = true;
for (i = 0; i < 8; i++)
for (int i = 0; i < 8; i++)
{
m_lamps[(8*m_input_strobe)+i+64] = BIT(data, i);
}
@ -571,14 +566,14 @@ void mpu4_state::pia_ic3_portb_w(uint8_t data)
WRITE_LINE_MEMBER(mpu4_state::pia_ic3_ca2_w)
{
LOG_IC3(("%s: IC3 PIA Write CA2 (alpha data), %02X\n", machine().describe_context(),state));
LOG_IC3(("%s: IC3 PIA Write CA2 (alpha data), %02X\n", machine().describe_context(), state));
m_vfd->data(state);
}
WRITE_LINE_MEMBER(mpu4_state::pia_ic3_cb2_w)
{
LOG_IC3(("%s: IC3 PIA Write CB (alpha reset), %02X\n",machine().describe_context(),state));
LOG_IC3(("%s: IC3 PIA Write CB (alpha reset), %02X\n", machine().describe_context(), state));
// DM Data pin A
m_vfd->por(state);
}
@ -599,19 +594,18 @@ void mpu4_state::ic23_update()
{
if (m_IC23G1)
{
if ( m_IC23GA ) m_input_strobe |= 0x01;
else m_input_strobe &= ~0x01;
if (m_IC23GA) m_input_strobe |= 0x01;
else m_input_strobe &= ~0x01;
if ( m_IC23GB ) m_input_strobe |= 0x02;
else m_input_strobe &= ~0x02;
if (m_IC23GB) m_input_strobe |= 0x02;
else m_input_strobe &= ~0x02;
if ( m_IC23GC ) m_input_strobe |= 0x04;
else m_input_strobe &= ~0x04;
if (m_IC23GC) m_input_strobe |= 0x04;
else m_input_strobe &= ~0x04;
}
}
}
else
if ((m_IC23G2A)||(m_IC23G2B))
else if (m_IC23G2A || m_IC23G2B)
{
m_input_strobe = 0x00;
}
@ -638,11 +632,9 @@ void mpu4_state::ic24_setup()
if (m_IC23GA)
{
double duration = TIME_OF_74LS123((220*1000),(0.1*0.000001));
{
m_ic23_active=true;
ic24_output(0);
m_ic24_timer->adjust(attotime::from_double(duration));
}
m_ic23_active = true;
ic24_output(0);
m_ic24_timer->adjust(attotime::from_double(duration));
}
}
@ -657,8 +649,8 @@ TIMER_CALLBACK_MEMBER(mpu4_state::update_ic24)
WRITE_LINE_MEMBER(mpu4_state::dataport_rxd)
{
m_pia4->cb1_w(state);
m_serial_output=state;
LOG_IC3(("Dataport RX %x\n",state));
m_serial_output = state;
LOG_IC3(("Dataport RX %x\n", state));
}
/* IC4, 7 seg leds, 50Hz timer reel sensors, current sensors */
@ -668,9 +660,9 @@ void mpu4_state::pia_ic4_porta_w(uint8_t data)
{
if (m_use_pia4_porta_leds)
{
if(m_pia4_porta_leds_strobe != m_input_strobe)
if (m_pia4_porta_leds_strobe != m_input_strobe)
{
for(int i=0; i<8; i++)
for (int i=0; i<8; i++)
{
m_mpu4leds[(((7 - m_input_strobe) | m_pia4_porta_leds_base) << 3) | i] = BIT(data, i);
}
@ -707,13 +699,13 @@ uint8_t mpu4_state::pia_ic4_portb_r()
if (!m_reel_mux)
{
if ( m_optic_pattern & 0x01 ) m_ic4_input_b |= 0x40; /* reel A tab */
if (m_optic_pattern & 0x01) m_ic4_input_b |= 0x40; /* reel A tab */
if ( m_optic_pattern & 0x02 ) m_ic4_input_b |= 0x20; /* reel B tab */
if (m_optic_pattern & 0x02) m_ic4_input_b |= 0x20; /* reel B tab */
if ( m_optic_pattern & 0x04 ) m_ic4_input_b |= 0x10; /* reel C tab */
if (m_optic_pattern & 0x04) m_ic4_input_b |= 0x10; /* reel C tab */
if ( m_optic_pattern & 0x08 ) m_ic4_input_b |= 0x08; /* reel D tab */
if (m_optic_pattern & 0x08) m_ic4_input_b |= 0x08; /* reel D tab */
}
else
{
@ -722,21 +714,21 @@ uint8_t mpu4_state::pia_ic4_portb_r()
if (m_low_volt_detect)
{
if ( m_signal_50hz ) m_ic4_input_b |= 0x04;
if (m_signal_50hz) m_ic4_input_b |= 0x04;
}
if ( m_overcurrent ) m_ic4_input_b |= 0x02;
if (m_overcurrent) m_ic4_input_b |= 0x02;
if ( m_undercurrent ) m_ic4_input_b |= 0x01;
if (m_undercurrent) m_ic4_input_b |= 0x01;
LOG_IC3(("%s: IC4 PIA Read of Port B %x\n",machine().describe_context(),m_ic4_input_b));
LOG_IC3(("%s: IC4 PIA Read of Port B %x\n", machine().describe_context(), m_ic4_input_b));
return m_ic4_input_b;
}
WRITE_LINE_MEMBER(mpu4_state::pia_ic4_ca2_w)
{
LOG_IC3(("%s: IC4 PIA Write CA (input MUX strobe /LED B), %02X\n", machine().describe_context(),state));
LOG_IC3(("%s: IC4 PIA Write CA (input MUX strobe /LED B), %02X\n", machine().describe_context(), state));
m_IC23GB = state;
ic23_update();
@ -744,7 +736,7 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic4_ca2_w)
WRITE_LINE_MEMBER(mpu4_state::pia_ic4_cb2_w)
{
LOG_IC3(("%s: IC4 PIA Write CB (Reel optic flag), %02X\n", machine().describe_context(),state));
LOG_IC3(("%s: IC4 PIA Write CB (Reel optic flag), %02X\n", machine().describe_context(), state));
m_reel_flag=state;
}
@ -797,7 +789,7 @@ uint8_t mpu4_state::pia_ic5_porta_r()
}
}
LOG(("%s: IC5 PIA Read of Port A (AUX1)\n",machine().describe_context()));
LOG(("%s: IC5 PIA Read of Port A (AUX1)\n", machine().describe_context()));
uint8_t tempinput = m_aux1_port->read() | m_aux1_input;
@ -807,7 +799,6 @@ uint8_t mpu4_state::pia_ic5_porta_r()
void mpu4_state::pia_ic5_porta_w(uint8_t data)
{
int i;
if (m_hopper_type == HOPPER_NONDUART_A)
{
m_hopper1_opto = (data & 0x10);
@ -818,11 +809,11 @@ void mpu4_state::pia_ic5_porta_w(uint8_t data)
case NO_EXTENDER:
if (m_led_extender == CARD_B)
{
led_write_extender(data & 0x1f, m_pia4->a_output(),m_input_strobe);
led_write_extender(data & 0x1f, m_pia4->a_output(), m_input_strobe);
}
else if ((m_led_extender != CARD_A) && (m_led_extender != NO_EXTENDER))
{
for(i=0; i<8; i++)
for (int i = 0; i < 8; i++)
{
m_mpu4leds[((m_input_strobe | 8) << 3) | i] = BIT(data, i);
}
@ -838,15 +829,15 @@ void mpu4_state::pia_ic5_porta_w(uint8_t data)
break;
case LARGE_CARD_A:
lamp_extend_large(data,m_input_strobe,m_ic23_active);
lamp_extend_large(data, m_input_strobe, m_ic23_active);
break;
case LARGE_CARD_B:
lamp_extend_large(data,m_input_strobe,m_ic23_active);
lamp_extend_large(data, m_input_strobe, m_ic23_active);
#if 0
if ((m_ic23_active) && m_card_live)
{
for(i=0; i<8; i++)
for(int i=0; i<8; i++)
{
m_mpu4leds[(m_last_b7 << 6) | (m_input_strobe << 3) | i] = BIT(~data, i);
}
@ -856,22 +847,22 @@ void mpu4_state::pia_ic5_porta_w(uint8_t data)
break;
case LARGE_CARD_C:
lamp_extend_large(data,m_input_strobe,m_ic23_active);
lamp_extend_large(data, m_input_strobe, m_ic23_active);
break;
}
if (m_reel_mux == SIX_REEL_5TO8)
{
m_reel[4]->update( data &0x0F);
m_reel[5]->update((data >> 4)&0x0F);
m_reel[4]->update( data &0x0f);
m_reel[5]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel5", *m_reel[4]);
awp_draw_reel(machine(),"reel6", *m_reel[5]);
}
else if (m_reel_mux == SEVEN_REEL)
{
m_reel[1]->update( data &0x0F);
m_reel[2]->update((data >> 4)&0x0F);
m_reel[1]->update( data &0x0f);
m_reel[2]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel2", *m_reel[1]);
awp_draw_reel(machine(),"reel3", *m_reel[2]);
}
@ -887,7 +878,7 @@ void mpu4_state::pia_ic5_portb_w(uint8_t data)
}
if (m_led_extender == CARD_A)
{
led_write_extender(data & 0x07, m_pia4->a_output(),m_input_strobe);
led_write_extender(data & 0x07, m_pia4->a_output(), m_input_strobe);
}
if (m_use_simplecard_leds)
@ -918,7 +909,7 @@ uint8_t mpu4_state::pia_ic5_portb_r()
}
}
LOG(("%s: IC5 PIA Read of Port B (coin input AUX2)\n",machine().describe_context()));
LOG(("%s: IC5 PIA Read of Port B (coin input AUX2)\n", machine().describe_context()));
if (m_use_coinlocks)
{
// why are these being set in a read, not when the outputs are written?
@ -974,7 +965,7 @@ void mpu4_state::update_ay()
case 0x01:
/* CA2 = 1 CB2 = 0? : Read from selected PSG register and make the register data available to Port A */
LOG(("AY8913 address = %d \n",m_pia6->a_output()&0x0f));
LOG(("AY8913 address = %d \n", m_pia6->a_output()&0x0f));
break;
case 0x02:
@ -1007,19 +998,19 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic5_cb2_w)
/* IC6, Reel A and B and AY registers (MODs below 4 only) */
void mpu4_state::pia_ic6_portb_w(uint8_t data)
{
LOG(("%s: IC6 PIA Port B Set to %2x (Reel A and B)\n", machine().describe_context(),data));
LOG(("%s: IC6 PIA Port B Set to %2x (Reel A and B)\n", machine().describe_context(), data));
if (m_reel_mux == SEVEN_REEL)
{
m_reel[3]->update( data &0x0F);
m_reel[4]->update((data >> 4)&0x0F);
m_reel[3]->update( data &0x0f);
m_reel[4]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel4", *m_reel[3]);
awp_draw_reel(machine(),"reel5", *m_reel[4]);
}
else if (m_reels)
{
m_reel[0]->update( data &0x0F);
m_reel[1]->update((data >> 4)&0x0F);
m_reel[0]->update( data &0x0f);
m_reel[1]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel1", *m_reel[0]);
awp_draw_reel(machine(),"reel2", *m_reel[1]);
}
@ -1028,7 +1019,7 @@ void mpu4_state::pia_ic6_portb_w(uint8_t data)
void mpu4_state::pia_ic6_porta_w(uint8_t data)
{
LOG(("%s: IC6 PIA Write A %2x\n", machine().describe_context(),data));
LOG(("%s: IC6 PIA Write A %2x\n", machine().describe_context(), data));
if (m_ay8913.found())
{
m_ay_data = data;
@ -1039,7 +1030,7 @@ void mpu4_state::pia_ic6_porta_w(uint8_t data)
WRITE_LINE_MEMBER(mpu4_state::pia_ic6_ca2_w)
{
LOG(("%s: IC6 PIA write CA2 %2x (AY8913 BC1)\n", machine().describe_context(),state));
LOG(("%s: IC6 PIA write CA2 %2x (AY8913 BC1)\n", machine().describe_context(), state));
if (m_ay8913.found())
{
if ( state ) m_ay8913_address |= 0x01;
@ -1051,7 +1042,7 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic6_ca2_w)
WRITE_LINE_MEMBER(mpu4_state::pia_ic6_cb2_w)
{
LOG(("%s: IC6 PIA write CB2 %2x (AY8913 BCDIR)\n", machine().describe_context(),state));
LOG(("%s: IC6 PIA write CB2 %2x (AY8913 BCDIR)\n", machine().describe_context(), state));
if (m_ay8913.found())
{
if ( state ) m_ay8913_address |= 0x02;
@ -1064,18 +1055,18 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic6_cb2_w)
/* IC7 Reel C and D, mechanical meters/Reel E and F, input strobe bit A */
void mpu4_state::pia_ic7_porta_w(uint8_t data)
{
LOG(("%s: IC7 PIA Port A Set to %2x (Reel C and D)\n", machine().describe_context(),data));
LOG(("%s: IC7 PIA Port A Set to %2x (Reel C and D)\n", machine().describe_context(), data));
if (m_reel_mux == SEVEN_REEL)
{
m_reel[5]->update( data &0x0F);
m_reel[6]->update((data >> 4)&0x0F);
m_reel[5]->update( data &0x0f);
m_reel[6]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel6", *m_reel[5]);
awp_draw_reel(machine(),"reel7", *m_reel[6]);
}
else if (m_reels)
{
m_reel[2]->update( data &0x0F);
m_reel[3]->update((data >> 4)&0x0F);
m_reel[2]->update( data &0x0f);
m_reel[3]->update((data >> 4)&0x0f);
awp_draw_reel(machine(),"reel3", *m_reel[2]);
awp_draw_reel(machine(),"reel4", *m_reel[3]);
}
@ -1132,7 +1123,7 @@ uint8_t mpu4_state::pia_ic7_portb_r()
WRITE_LINE_MEMBER(mpu4_state::pia_ic7_ca2_w)
{
LOG(("%s: IC7 PIA write CA2 %2x (input strobe bit 0 / LED A)\n", machine().describe_context(),state));
LOG(("%s: IC7 PIA write CA2 %2x (input strobe bit 0 / LED A)\n", machine().describe_context(), state));
m_IC23GA = state;
ic24_setup();
@ -1175,7 +1166,7 @@ void mpu4_state::pia_ic8_portb_w(uint8_t data)
m_hopper2_opto = (data & 0x04);
data &= ~0x07; //remove Triacs from use
}
LOG_IC8(("%s: IC8 PIA Port B Set to %2x (OUTPUT PORT, TRIACS)\n", machine().describe_context(),data));
LOG_IC8(("%s: IC8 PIA Port B Set to %2x (OUTPUT PORT, TRIACS)\n", machine().describe_context(), data));
for (uint8_t i = 0; i < 8; i++)
{
m_triacs[i] = BIT(data, i);
@ -1184,7 +1175,7 @@ void mpu4_state::pia_ic8_portb_w(uint8_t data)
WRITE_LINE_MEMBER(mpu4_state::pia_ic8_ca2_w)
{
LOG_IC8(("%s: IC8 PIA write CA2 (input_strobe bit 2 / LED C) %02X\n", machine().describe_context(), state & 0xFF));
LOG_IC8(("%s: IC8 PIA write CA2 (input_strobe bit 2 / LED C) %02X\n", machine().describe_context(), state & 0xff));
m_IC23GC = state;
ic23_update();
@ -1193,7 +1184,7 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic8_ca2_w)
WRITE_LINE_MEMBER(mpu4_state::pia_ic8_cb2_w)
{
LOG_IC8(("%s: IC8 PIA write CB2 (alpha clock) %02X\n", machine().describe_context(), state & 0xFF));
LOG_IC8(("%s: IC8 PIA write CB2 (alpha clock) %02X\n", machine().describe_context(), state & 0xff));
// DM Data pin B
@ -1204,7 +1195,7 @@ WRITE_LINE_MEMBER(mpu4_state::pia_ic8_cb2_w)
// Sampled sound card, using a PIA and PTM for timing and data handling
void mpu4_state::pia_gb_porta_w(uint8_t data)
{
LOG_SS(("%s: GAMEBOARD: PIA Port A Set to %2x\n", machine().describe_context(),data));
LOG_SS(("%s: GAMEBOARD: PIA Port A Set to %2x\n", machine().describe_context(), data));
m_msm6376->write(data);
}
@ -1212,36 +1203,35 @@ void mpu4_state::pia_gb_portb_w(uint8_t data)
{
uint8_t changed = m_expansion_latch^data;
LOG_SS(("%s: GAMEBOARD: PIA Port B Set to %2x\n", machine().describe_context(),data));
LOG_SS(("%s: GAMEBOARD: PIA Port B Set to %2x\n", machine().describe_context(), data));
if ( changed & 0x20)
if (changed & 0x20)
{ // digital volume clock line changed
if ( !(data & 0x20) )
if (!(data & 0x20))
{ // changed from high to low,
if ( !(data & 0x10) )//down
if (!(data & 0x10)) // down
{
if ( m_global_volume < 32 ) m_global_volume++; //steps unknown
if (m_global_volume < 32) m_global_volume++; //steps unknown
}
else
{//up
if ( m_global_volume > 0 ) m_global_volume--;
else // up
{
if (m_global_volume > 0) m_global_volume--;
}
{
LOG_SS(("%s: GAMEBOARD: Volume Set to %2x\n", machine().describe_context(),data));
float percent = (32-m_global_volume)/32.0;
m_msm6376->set_output_gain(0, percent);
m_msm6376->set_output_gain(1, percent);
}
LOG_SS(("%s: GAMEBOARD: Volume Set to %2x\n", machine().describe_context(), data));
float percent = (32-m_global_volume)/32.0;
m_msm6376->set_output_gain(0, percent);
m_msm6376->set_output_gain(1, percent);
}
}
m_msm6376->ch2_w(data&0x02);
m_msm6376->st_w(data&0x01);
m_msm6376->ch2_w(data & 0x02);
m_msm6376->st_w(data & 0x01);
}
uint8_t mpu4_state::pia_gb_portb_r()
{
LOG_SS(("%s: GAMEBOARD: PIA Read of Port B\n",machine().describe_context()));
uint8_t data=0;
LOG_SS(("%s: GAMEBOARD: PIA Read of Port B\n", machine().describe_context()));
uint8_t data = 0;
// b7 NAR - we can load another address into Channel 1
// b6, 1 = OKI ready, 0 = OKI busy
// b5, vol clock
@ -1294,7 +1284,7 @@ calculate the oscillation frequency in advance. We're running the timer for inte
purposes, but the frequency calculation is done by plucking the values out as they are written.*/
void mpu4_state::ic3ss_w(offs_t offset, uint8_t data)
{
m_ptm_ic3ss->write(offset,data);
m_ptm_ic3ss->write(offset, data);
if (offset == 3)
{
@ -2071,7 +2061,7 @@ void mpu4_state::mpu4_config_common()
}
MACHINE_START_MEMBER(mpu4_state,mod2)
MACHINE_START_MEMBER(mpu4_state, mod2)
{
mpu4_config_common();
@ -2079,7 +2069,7 @@ MACHINE_START_MEMBER(mpu4_state,mod2)
m_link7b_connected=true;
}
MACHINE_START_MEMBER(mpu4_state,mpu4oki)
MACHINE_START_MEMBER(mpu4_state, mpu4oki)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
mpu4_config_common();
@ -2455,8 +2445,8 @@ void mpu4_state::mpu4_common2(machine_config &config)
void mpu4_state::mpu4base(machine_config &config)
{
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mod2)
MCFG_MACHINE_RESET_OVERRIDE(mpu4_state,mpu4)
MCFG_MACHINE_START_OVERRIDE(mpu4_state, mod2)
MCFG_MACHINE_RESET_OVERRIDE(mpu4_state, mpu4)
MC6809(config, m_maincpu, MPU4_MASTER_CLOCK); // MC68B09P
m_maincpu->set_addrmap(AS_PROGRAM, &mpu4_state::mpu4_memmap);
@ -2522,7 +2512,7 @@ void mpu4_state::mod2_cheatchr_f(machine_config &config)
void mpu4_state::mod4oki_f(machine_config &config)
{
mpu4base(config);
MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
MCFG_MACHINE_START_OVERRIDE(mpu4_state, mpu4oki)
mpu4_common2(config);

View File

@ -154,12 +154,17 @@ ht1080z works
#include "emu.h"
#include "trs80.h"
#include "machine/input_merger.h"
#include "sound/ay8910.h"
#include "softlist_dev.h"
#include "utf8.h"
#include "formats/dmk_dsk.h"
#include "utf8.h"
void trs80_state::trs80_mem(address_map &map)
{
map(0x0000, 0x0fff).rom();