@@ -124,7 +124,7 @@ class dday_state : public driver_device
124
124
void main_map (address_map &map) ATTR_COLD;
125
125
void sound_map (address_map &map) ATTR_COLD;
126
126
127
- /* devices */
127
+ // devices
128
128
required_device<z80_device> m_maincpu;
129
129
required_device<z80_device> m_audiocpu;
130
130
required_device<gfxdecode_device> m_gfxdecode;
@@ -134,22 +134,23 @@ class dday_state : public driver_device
134
134
required_device<i8257_device> m_dma;
135
135
required_memory_bank m_bank;
136
136
137
- /* memory pointers */
137
+ // memory pointers
138
138
required_shared_ptr<u8 > m_mainram;
139
139
required_shared_ptr<u8 > m_spriteram;
140
140
required_shared_ptr<u8 > m_videoram;
141
141
required_shared_ptr<u8 > m_bgvram;
142
142
required_region_ptr<u8 > m_proms;
143
143
144
- /* video-related */
144
+ // video-related
145
145
tilemap_t *m_bg_tilemap = nullptr ;
146
146
tilemap_t *m_fg_tilemap = nullptr ;
147
147
u8 m_char_bank = 0 ;
148
148
u8 m_bgadr = 0 ;
149
149
150
- /* misc */
150
+ // misc
151
151
bool m_main_nmi_enable = false ;
152
152
bool m_sound_nmi_enable = false ;
153
+ bool m_sound_irq_clock = false ;
153
154
u8 m_prot_addr = 0 ;
154
155
155
156
u8 dma_mem_r (offs_t offset);
@@ -366,7 +367,10 @@ void dday_state::bg2_w(u8 data)
366
367
367
368
void dday_state::sound_irq_w (u8 data)
368
369
{
369
- m_audiocpu->set_input_line (0 , BIT (data, 0 ) ? CLEAR_LINE : ASSERT_LINE);
370
+ // 7474 to audiocpu irq? (pulse is too short for direct assert/clear)
371
+ if (!BIT (data, 0 ) && m_sound_irq_clock)
372
+ m_audiocpu->set_input_line (0 , HOLD_LINE);
373
+ m_sound_irq_clock = BIT (data, 0 );
370
374
}
371
375
372
376
void dday_state::flip_screen_w (u8 data)
@@ -380,7 +384,7 @@ void dday_state::main_map(address_map &map)
380
384
map (0x8000 , 0x8fff ).ram ().share (" mainram" );
381
385
map (0x9000 , 0x93ff ).ram ().share (" spriteram" );
382
386
map (0x9400 , 0x97ff ).ram ().w (FUNC (dday_state::vram_w)).share (" videoram" );
383
- map (0x9800 , 0x9fff ).ram ().w (FUNC (dday_state::bgvram_w)).share (" bgram" ); /* 9800-981f - videoregs */
387
+ map (0x9800 , 0x9fff ).ram ().w (FUNC (dday_state::bgvram_w)).share (" bgram" ); // 9800-981f - videoregs
384
388
map (0xa000 , 0xdfff ).bankr (" bank" ).nopw ();
385
389
map (0xe000 , 0xe008 ).rw (m_dma, FUNC (i8257_device::read), FUNC (i8257_device::write));
386
390
map (0xf000 , 0xf000 ).portr (" P1" ).w (m_soundlatch, FUNC (generic_latch_8_device::write));
@@ -517,6 +521,7 @@ void dday_state::machine_start()
517
521
save_item (NAME (m_bgadr));
518
522
save_item (NAME (m_main_nmi_enable));
519
523
save_item (NAME (m_sound_nmi_enable));
524
+ save_item (NAME (m_sound_irq_clock));
520
525
save_item (NAME (m_prot_addr));
521
526
save_item (NAME (m_dma_latch));
522
527
}
@@ -527,6 +532,7 @@ void dday_state::machine_reset()
527
532
m_bgadr = 0 ;
528
533
m_sound_nmi_enable = false ;
529
534
m_main_nmi_enable = false ;
535
+ m_sound_irq_clock = false ;
530
536
m_prot_addr = 0 ;
531
537
m_dma_latch = 0 ;
532
538
}
@@ -580,7 +586,7 @@ void dday_state::dma_w(u8 data)
580
586
581
587
void dday_state::dday (machine_config &config)
582
588
{
583
- /* basic machine hardware */
589
+ // basic machine hardware
584
590
Z80 (config, m_maincpu, 12_MHz_XTAL / 4 );
585
591
m_maincpu->set_addrmap (AS_PROGRAM, &dday_state::main_map);
586
592
m_maincpu->busack_cb ().set (m_dma, FUNC (i8257_device::hlda_w));
@@ -598,7 +604,7 @@ void dday_state::dday(machine_config &config)
598
604
m_dma->out_iow_cb <0 >().set (FUNC (dday_state::dma_w));
599
605
m_dma->set_reverse_rw_mode (true );
600
606
601
- /* video hardware */
607
+ // video hardware
602
608
SCREEN (config, m_screen, SCREEN_TYPE_RASTER);
603
609
m_screen->set_refresh_hz (60 );
604
610
m_screen->set_vblank_time (ATTOSECONDS_IN_USEC (0 ));
@@ -611,6 +617,7 @@ void dday_state::dday(machine_config &config)
611
617
GFXDECODE (config, m_gfxdecode, m_palette, gfx_dday);
612
618
PALETTE (config, m_palette, FUNC (dday_state::dday_palette), 0x200 );
613
619
620
+ // sound hardware
614
621
SPEAKER (config, " mono" ).front_center ();
615
622
616
623
GENERIC_LATCH_8 (config, m_soundlatch);
0 commit comments