Previous 15994 Revisions Next

r5271 Saturday 18th July, 2009 at 10:04:20 UTC by Miodrag Milanović
[MZ80][MZ700] Sound works now
[docs]messnew.txt
[src/mess/drivers]mz80.c
[src/mess/includes]mz80.h
[src/mess/machine]mz700.c mz80.c

src/mess/includes/mz80.h
r5270r5271
1919
2020extern UINT8 mz80k_vertical;
2121extern UINT8 mz80k_cursor_cnt;
22extern UINT8 mz80k_tempo_strobe;
2223
2324/*----------- defined in video/mz80.c -----------*/
2425
src/mess/machine/mz700.c
r5270r5271
408408/************************ PIT ************************************************/
409409
410410/* Timer 0 is the clock for the speaker output */
411static UINT8 speaker_level = 0;
412static UINT8 prev_state = 0;
413
411414static PIT8253_OUTPUT_CHANGED( pit_out0_changed )
412415{
413416   const device_config *speaker = devtag_get_device(device->machine, "speaker");
414   speaker_level_w(speaker, state ? 1 : 0);
417   if((prev_state==0) && (state==1)) {
418      speaker_level ^= 1;
419   }   
420   prev_state = state;
421   speaker_level_w( speaker, speaker_level);
415422}
416423
417424
src/mess/machine/mz80.c
r5270r5271
1313#include "sound/speaker.h"
1414#include "includes/mz80.h"
1515 
16static UINT8 mz80k_tempo_strobe = 0;
16UINT8 mz80k_tempo_strobe = 0;
1717static UINT8 mz80k_8255_portc = 0;
1818UINT8 mz80k_vertical = 0;
1919UINT8 mz80k_cursor_cnt = 0;
r5270r5271
2525{
2626}
2727
28
2928MACHINE_RESET( mz80k )
3029{
3130   mz80k_tempo_strobe = 0;
r5270r5271
6968//   logerror("mz80k_8255_portc_w %02x\n",data);
7069}
7170
71static UINT8 speaker_level = 0;
72static UINT8 prev_state = 0;
7273static PIT8253_OUTPUT_CHANGED( pit_out0_changed )
7374{
7475   const device_config *speaker = devtag_get_device(device->machine, "speaker");
75   speaker_level_w( speaker, state ? 1 : 0 );
76   if((prev_state==0) && (state==1)) {
77      speaker_level ^= 1;
78   }   
79   prev_state = state;
80   speaker_level_w( speaker, speaker_level);
7681}
7782
7883
r5270r5271
100105const struct pit8253_config mz80k_pit8253_config =
101106{
102107   {
103      /* clockin     irq callback     */
104      { 1108800.0,  pit_out0_changed },     
105      {   15611.0,  pit_out1_changed },
106      {        0,  pit_out2_changed },
108      /* clockin     irq callback     */     
109      { XTAL_8MHz/  4,  pit_out0_changed },     
110      { XTAL_8MHz/256,  pit_out1_changed },
111      {            0,  pit_out2_changed },
107112   }
108113};
109114
110115READ8_HANDLER(mz80k_strobe_r)
111116{
112    mz80k_tempo_strobe^=1;
113117   return(0x7e | mz80k_tempo_strobe);
114118}
115119WRITE8_HANDLER(mz80k_strobe_w)
116120{
121   const device_config *pit = devtag_get_device(space->machine, "pit8253");
122   pit8253_gate_w(pit,0,data);
117123}
118124
src/mess/drivers/mz80.c
r5270r5271
231231    AM_RANGE(0xd000, 0xd3ff) AM_RAM // Video RAM
232232    AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ppi8255", i8255a_r, i8255a_w) /* PPIA 8255 */
233233    AM_RANGE(0xe004, 0xe007) AM_DEVREADWRITE("pit8253", pit8253_r,pit8253_w)  /* PIT 8253  */
234    AM_RANGE(0xe008, 0xe008) AM_READWRITE( mz80k_strobe_r, mz80k_strobe_w)
234    AM_RANGE(0xe008, 0xe00b) AM_READWRITE( mz80k_strobe_r, mz80k_strobe_w)
235235    AM_RANGE(0xf000, 0xf3ff) AM_ROM
236236ADDRESS_MAP_END
237237
r5270r5271
255255   CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED
256256};
257257
258static TIMER_DEVICE_CALLBACK( ne555_tempo_callback )
259{
260   mz80k_tempo_strobe ^= 1;
261}
262
258263static MACHINE_DRIVER_START( mz80k )
259264   /* basic machine hardware */
260265
261266   /* main CPU */
262   MDRV_CPU_ADD("maincpu", Z80, 2000000)        /* 2 MHz */
267   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz / 4)        /* 2 MHz */
263268   MDRV_CPU_PROGRAM_MAP(mz80k_mem)
264269   MDRV_CPU_IO_MAP(mz80k_io)
265270
r5270r5271
289294   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
290295   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
291296   
297   MDRV_TIMER_ADD_PERIODIC("tempo", ne555_tempo_callback, HZ(24)) // 33.5Hz - 34.3Hz
298   
292299   MDRV_CASSETTE_ADD( "cassette", mz80k_cassette_config )     
293300MACHINE_DRIVER_END
294301
docs/messnew.txt
r5270r5271
7272
7373- [MC1000] System is now basically working. [Curt Coder]
7474
75- [MZ80] [MZ700] Sound works now [Miodrag Milanovic]
76
7577- [NES] Fixed mappers #88, #193, added mappers #107, #154.  [Heretical One]
7678
7779- [PC] Renamed bondwell to bw230. [Curt Coder]

Previous 15994 Revisions Next


© 1998-2018 The MESS Team