src/mame/machine/n64.c
| r4305 | r4306 | |
| 812 | 812 | |
| 813 | 813 | // mame_printf_debug("DACDMA: %x for %x bytes\n", current->address, current->length); |
| 814 | 814 | |
| 815 | | dmadac[0] = devtag_get_device(machine, SOUND, "dac1"); |
| 816 | | dmadac[1] = devtag_get_device(machine, SOUND, "dac2"); |
| 815 | dmadac[0] = devtag_get_device(machine, SOUND, "dmadac.l"); |
| 816 | dmadac[1] = devtag_get_device(machine, SOUND, "dmadac.r"); |
| 817 | 817 | dmadac_transfer(&dmadac[0], 2, 2, 2, current->length/4, ram); |
| 818 | 818 | |
| 819 | 819 | ai_status |= 0x40000000; |
| r4305 | r4306 | |
| 897 | 897 | |
| 898 | 898 | case 0x10/4: // AI_DACRATE_REG |
| 899 | 899 | ai_dacrate = data & 0x3fff; |
| 900 | dmadac[0] = devtag_get_device(space->machine, SOUND, "dmadac.l"); |
| 901 | dmadac[1] = devtag_get_device(space->machine, SOUND, "dmadac.r"); |
| 900 | 902 | dmadac_set_frequency(&dmadac[0], 2, (double)DACRATE_NTSC / (double)(ai_dacrate+1)); |
| 901 | 903 | printf( "frequency: %f\n", (double)DACRATE_NTSC / (double)(ai_dacrate+1) ); |
| 902 | 904 | dmadac_enable(&dmadac[0], 2, 1); |
src/mess/machine/electron.c
| r4305 | r4306 | |
| 148 | 148 | static const int electron_palette_offset[4] = { 0, 4, 5, 1 }; |
| 149 | 149 | static const UINT16 electron_screen_base[8] = { 0x3000, 0x3000, 0x3000, 0x4000, 0x5800, 0x5800, 0x6000, 0x5800 }; |
| 150 | 150 | |
| 151 | | WRITE8_HANDLER( electron_ula_w ) { |
| 151 | WRITE8_HANDLER( electron_ula_w ) |
| 152 | { |
| 153 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 152 | 154 | int i = electron_palette_offset[(( offset >> 1 ) & 0x03)]; |
| 153 | 155 | logerror( "ULA: write offset %02x <- %02x\n", offset & 0x0f, data ); |
| 154 | 156 | switch( offset & 0x0f ) { |
| r4305 | r4306 | |
| 198 | 200 | break; |
| 199 | 201 | case 0x06: /* Counter divider */ |
| 200 | 202 | if ( electron_ula.communication_mode == 0x01) { |
| 201 | | beep_set_frequency( 0, 1000000 / ( 16 * ( data + 1 ) ) ); |
| 203 | beep_set_frequency( speaker, 1000000 / ( 16 * ( data + 1 ) ) ); |
| 202 | 204 | } |
| 203 | 205 | break; |
| 204 | 206 | case 0x07: /* Misc. */ |
| 205 | 207 | electron_ula.communication_mode = ( data >> 1 ) & 0x03; |
| 206 | 208 | switch( electron_ula.communication_mode ) { |
| 207 | 209 | case 0x00: /* cassette input */ |
| 208 | | beep_set_state( 0, 0 ); |
| 210 | beep_set_state( speaker, 0 ); |
| 209 | 211 | electron_tape_start(); |
| 210 | 212 | break; |
| 211 | 213 | case 0x01: /* sound generation */ |
| 212 | | beep_set_state( 0, 1 ); |
| 214 | beep_set_state( speaker, 1 ); |
| 213 | 215 | electron_tape_stop(); |
| 214 | 216 | break; |
| 215 | 217 | case 0x02: /* cassette output */ |
| 216 | | beep_set_state( 0, 0 ); |
| 218 | beep_set_state( speaker, 0 ); |
| 217 | 219 | electron_tape_stop(); |
| 218 | 220 | break; |
| 219 | 221 | case 0x03: /* not used */ |
| 220 | | beep_set_state( 0, 0 ); |
| 222 | beep_set_state( speaker, 0 ); |
| 221 | 223 | electron_tape_stop(); |
| 222 | 224 | break; |
| 223 | 225 | } |
| r4305 | r4306 | |
| 268 | 270 | |
| 269 | 271 | static TIMER_CALLBACK(setup_beep) |
| 270 | 272 | { |
| 271 | | beep_set_state( 0, 0 ); |
| 272 | | beep_set_frequency( 0, 300 ); |
| 273 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 274 | beep_set_state( speaker, 0 ); |
| 275 | beep_set_frequency( speaker, 300 ); |
| 273 | 276 | } |
| 274 | 277 | |
| 275 | 278 | static void electron_reset(running_machine *machine) |
src/mess/machine/osborne1.c
| r4305 | r4306 | |
| 342 | 342 | static TIMER_CALLBACK(osborne1_video_callback) |
| 343 | 343 | { |
| 344 | 344 | const address_space* space = cpu_get_address_space(machine->cpu[0],ADDRESS_SPACE_PROGRAM); |
| 345 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 345 | 346 | int y = video_screen_get_vpos(machine->primary_screen); |
| 346 | 347 | |
| 347 | 348 | /* Check for start of frame */ |
| r4305 | r4306 | |
| 393 | 394 | |
| 394 | 395 | if ( ( y % 10 ) == 2 || ( y % 10 ) == 6 ) |
| 395 | 396 | { |
| 396 | | beep_set_state( 0, osborne1.beep ); |
| 397 | beep_set_state( speaker, osborne1.beep ); |
| 397 | 398 | } |
| 398 | 399 | else |
| 399 | 400 | { |
| 400 | | beep_set_state( 0, 0 ); |
| 401 | beep_set_state( speaker, 0 ); |
| 401 | 402 | } |
| 402 | 403 | |
| 403 | 404 | timer_adjust_oneshot(osborne1.video_timer, video_screen_get_time_until_pos(machine->primary_screen, y + 1, 0 ), 0); |
| r4305 | r4306 | |
| 470 | 471 | |
| 471 | 472 | static TIMER_CALLBACK( setup_beep ) |
| 472 | 473 | { |
| 473 | | beep_set_state( 0, 0 ); |
| 474 | | beep_set_frequency( 0, 300 /* 60 * 240 / 2 */ ); |
| 474 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 475 | beep_set_state( speaker, 0 ); |
| 476 | beep_set_frequency( speaker, 300 /* 60 * 240 / 2 */ ); |
| 475 | 477 | } |
| 476 | 478 | |
| 477 | 479 | |
src/mess/machine/pc8801.c
| r4305 | r4306 | |
| 179 | 179 | |
| 180 | 180 | WRITE8_HANDLER(pc88sr_outport_30) |
| 181 | 181 | { |
| 182 | | /* bit 1-5 not implemented yet */ |
| 183 | | pc88sr_disp_30(space, offset,data); |
| 182 | /* bit 1-5 not implemented yet */ |
| 183 | pc88sr_disp_30(space, offset,data); |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | 186 | WRITE8_HANDLER(pc88sr_outport_40) |
| 187 | 187 | /* bit 3,4,6 not implemented */ |
| 188 | 188 | /* bit 7 incorrect behavior */ |
| 189 | 189 | { |
| 190 | | static int port_save; |
| 190 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 191 | static int port_save; |
| 191 | 192 | |
| 192 | | if((port_save&0x02) == 0x00 && (data&0x02) != 0x00) calender_strobe(space->machine); |
| 193 | | if((port_save&0x04) == 0x00 && (data&0x04) != 0x00) calender_shift(); |
| 194 | | port_save=data; |
| 193 | if((port_save&0x02) == 0x00 && (data&0x02) != 0x00) calender_strobe(space->machine); |
| 194 | if((port_save&0x04) == 0x00 && (data&0x04) != 0x00) calender_shift(); |
| 195 | port_save=data; |
| 195 | 196 | |
| 196 | | if((input_port_read(space->machine, "DSW1") & 0x40) == 0x00) |
| 197 | | { |
| 198 | | data&=0x7f; |
| 199 | | } |
| 200 | | switch(data&0xa0) { |
| 201 | | case 0x00: |
| 202 | | beep_set_state(0, 0); |
| 203 | | break; |
| 204 | | case 0x20: |
| 205 | | beep_set_frequency(0, 2400); |
| 206 | | beep_set_state(0, 1); |
| 207 | | break; |
| 208 | | case 0x80: |
| 209 | | case 0xa0: |
| 210 | | beep_set_frequency(0, 0); |
| 211 | | beep_set_state(0, 1); |
| 212 | | break; |
| 213 | | } |
| 197 | if((input_port_read(space->machine, "DSW1") & 0x40) == 0x00) data&=0x7f; |
| 198 | |
| 199 | switch(data&0xa0) |
| 200 | { |
| 201 | case 0x00: |
| 202 | beep_set_state(speaker, 0); |
| 203 | break; |
| 204 | case 0x20: |
| 205 | beep_set_frequency(speaker, 2400); |
| 206 | beep_set_state(speaker, 1); |
| 207 | break; |
| 208 | case 0x80: |
| 209 | case 0xa0: |
| 210 | beep_set_frequency(speaker, 0); |
| 211 | beep_set_state(speaker, 1); |
| 212 | break; |
| 213 | } |
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | READ8_HANDLER(pc88sr_inport_40) |
| r4305 | r4306 | |
| 693 | 693 | |
| 694 | 694 | static void pc88sr_ch_reset (running_machine *machine, int hireso) |
| 695 | 695 | { |
| 696 | | int a; |
| 696 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 697 | int a; |
| 697 | 698 | |
| 698 | | a=input_port_read(machine, "CFG"); |
| 699 | | is_Nbasic = ((a&0x01)==0x00); |
| 700 | | is_V2mode = ((a&0x02)==0x00); |
| 701 | | pc88sr_is_highspeed = ((a&0x04)!=0x00); |
| 702 | | is_8MHz = ((a&0x08)!=0x00); |
| 703 | | fix_V1V2(); |
| 704 | | pc8801_init_bank(machine, hireso); |
| 705 | | pc8801_init_5fd(machine); |
| 706 | | pc8801_init_interrupt(machine); |
| 707 | | beep_set_state(0, 0); |
| 708 | | beep_set_frequency(0, 2400); |
| 709 | | pc88sr_init_fmsound(); |
| 699 | a=input_port_read(machine, "CFG"); |
| 700 | is_Nbasic = ((a&0x01)==0x00); |
| 701 | is_V2mode = ((a&0x02)==0x00); |
| 702 | pc88sr_is_highspeed = ((a&0x04)!=0x00); |
| 703 | is_8MHz = ((a&0x08)!=0x00); |
| 704 | fix_V1V2(); |
| 705 | pc8801_init_bank(machine, hireso); |
| 706 | pc8801_init_5fd(machine); |
| 707 | pc8801_init_interrupt(machine); |
| 708 | beep_set_state(speaker, 0); |
| 709 | beep_set_frequency(speaker, 2400); |
| 710 | pc88sr_init_fmsound(); |
| 710 | 711 | } |
| 711 | 712 | |
| 712 | 713 | MACHINE_RESET( pc88srl ) |
| 713 | 714 | { |
| 714 | | pc88sr_ch_reset(machine, 0); |
| 715 | pc88sr_ch_reset(machine, 0); |
| 715 | 716 | } |
| 716 | 717 | |
| 717 | 718 | MACHINE_RESET( pc88srh ) |
src/mess/drivers/hp48.c
| r4305 | r4306 | |
| 148 | 148 | |
| 149 | 149 | References: |
| 150 | 150 | |
| 151 | | - Voyage au centre de la HP48 S/SX, by Paul Courbis & Sébastien Lalande |
| 151 | - Voyage au centre de la HP48 S/SX, by Paul Courbis & Sébastien Lalande |
| 152 | 152 | (English version: HP48 machine language - a journey to the center |
| 153 | 153 | of the HP48 s/sx) |
| 154 | 154 | available at http://www.courbis.com |
| r4305 | r4306 | |
| 810 | 810 | The G+ model has always revision R. |
| 811 | 811 | */ |
| 812 | 812 | ROM_START ( hp48gx ) |
| 813 | | ROM_DEFAULT_BIOS("r") |
| 814 | | ROM_REGION( 0x80000, "main", 0 ) |
| 813 | ROM_REGION( 0x80000, "main", 0 ) |
| 814 | ROM_DEFAULT_BIOS("r") |
| 815 | 815 | |
| 816 | 816 | /* in chronological order, from first revision, version r is default*/ |
| 817 | 817 | ROM_SYSTEM_BIOS( 0, "k", "Version K" ) |
| 818 | | ROMX_LOAD( "gxrom-k", |
| 819 | | 0x00000, 0x80000, |
| 820 | | CRC(bdd5d2ee) SHA1(afa1498238e991b1e3d07fb8b4c227b115f7bcc1), |
| 821 | | ROM_BIOS(1) ) |
| 818 | ROMX_LOAD( "gxrom-k", 0x00000, 0x80000, CRC(bdd5d2ee) SHA1(afa1498238e991b1e3d07fb8b4c227b115f7bcc1), ROM_BIOS(1) ) |
| 822 | 819 | |
| 823 | 820 | ROM_SYSTEM_BIOS( 1, "l", "Version L" ) |
| 824 | | ROMX_LOAD( "gxrom-l", |
| 825 | | 0x00000, 0x80000, |
| 826 | | CRC(70958e6b) SHA1(8eebac69ff804086247b989bf320e57a2d8a59a7), |
| 827 | | ROM_BIOS(2) ) |
| 821 | ROMX_LOAD( "gxrom-l", 0x00000, 0x80000, CRC(70958e6b) SHA1(8eebac69ff804086247b989bf320e57a2d8a59a7), ROM_BIOS(2) ) |
| 828 | 822 | |
| 829 | 823 | ROM_SYSTEM_BIOS( 2, "m", "Version M" ) |
| 830 | | ROMX_LOAD( "gxrom-m", |
| 831 | | 0x00000, 0x80000, |
| 832 | | CRC(e21a09e4) SHA1(09932d543594e459eeb94a79654168cd15e79a87), |
| 833 | | ROM_BIOS(3) ) |
| 824 | ROMX_LOAD( "gxrom-m", 0x00000, 0x80000, CRC(e21a09e4) SHA1(09932d543594e459eeb94a79654168cd15e79a87), ROM_BIOS(3) ) |
| 834 | 825 | |
| 835 | 826 | /* there does not seem to exist an N revision? */ |
| 836 | 827 | |
| 837 | 828 | ROM_SYSTEM_BIOS( 3, "p", "Version P" ) |
| 838 | | ROMX_LOAD( "gxrom-p", |
| 839 | | 0x00000, 0x80000, |
| 840 | | CRC(022d46df) SHA1(877a536865641f096212d1ce7296f580afbd6a2d), |
| 841 | | ROM_BIOS(4) ) |
| 829 | ROMX_LOAD( "gxrom-p", 0x00000, 0x80000, CRC(022d46df) SHA1(877a536865641f096212d1ce7296f580afbd6a2d), ROM_BIOS(4) ) |
| 842 | 830 | |
| 843 | 831 | ROM_SYSTEM_BIOS( 4, "r", "Version R" ) |
| 844 | | ROMX_LOAD( "gxrom-r", |
| 845 | | 0x00000, 0x80000, |
| 846 | | CRC(00ee1a62) SHA1(5705fc9ea791916c4456ac35e22275862411db9b), |
| 847 | | ROM_BIOS(5) ) |
| 832 | ROMX_LOAD( "gxrom-r", 0x00000, 0x80000, CRC(00ee1a62) SHA1(5705fc9ea791916c4456ac35e22275862411db9b), ROM_BIOS(5) ) |
| 848 | 833 | |
| 849 | 834 | ROM_END |
| 850 | 835 | |
| r4305 | r4306 | |
| 860 | 845 | */ |
| 861 | 846 | |
| 862 | 847 | ROM_START ( hp48sx ) |
| 863 | | ROM_DEFAULT_BIOS("j") |
| 864 | | ROM_REGION( 0x40000, "main", 0 ) |
| 848 | ROM_REGION( 0x40000, "main", 0 ) |
| 849 | ROM_DEFAULT_BIOS("j") |
| 865 | 850 | |
| 866 | 851 | /* in chronological order, from first revision, version j is default*/ |
| 867 | 852 | ROM_SYSTEM_BIOS( 0, "a", "Version A" ) |
| 868 | | ROMX_LOAD( "sxrom-a", |
| 869 | | 0x00000, 0x40000, |
| 870 | | CRC(a87696c7) SHA1(3271b103ad99254d069e20171beb418ace72cc90), |
| 871 | | ROM_BIOS(1) ) |
| 853 | ROMX_LOAD( "sxrom-a", 0x00000, 0x40000, CRC(a87696c7) SHA1(3271b103ad99254d069e20171beb418ace72cc90), ROM_BIOS(1) ) |
| 872 | 854 | |
| 873 | 855 | ROM_SYSTEM_BIOS( 1, "b", "Version B" ) |
| 874 | | ROMX_LOAD( "sxrom-b", |
| 875 | | 0x00000, 0x40000, |
| 876 | | CRC(034f6ce4) SHA1(acd256f2efee868ce402008f4131d94b312e60bc), |
| 877 | | ROM_BIOS(2) ) |
| 856 | ROMX_LOAD( "sxrom-b", 0x00000, 0x40000, CRC(034f6ce4) SHA1(acd256f2efee868ce402008f4131d94b312e60bc), ROM_BIOS(2) ) |
| 878 | 857 | |
| 879 | 858 | ROM_SYSTEM_BIOS( 2, "c", "Version C" ) |
| 880 | | ROMX_LOAD( "sxrom-c", |
| 881 | | 0x00000, 0x40000, |
| 882 | | CRC(a9a0279d) SHA1(fee852d43ae6941d07a9d0d31f37e68e4f9051b1), |
| 883 | | ROM_BIOS(3) ) |
| 859 | ROMX_LOAD( "sxrom-c", 0x00000, 0x40000, CRC(a9a0279d) SHA1(fee852d43ae6941d07a9d0d31f37e68e4f9051b1), ROM_BIOS(3) ) |
| 884 | 860 | |
| 885 | 861 | ROM_SYSTEM_BIOS( 3, "d", "Version D" ) |
| 886 | | ROMX_LOAD( "sxrom-d", |
| 887 | | 0x00000, 0x40000, |
| 888 | | CRC(f8f5dc58) SHA1(3be5f895f4c731fd4c863237c7342cab4e8c42b1), |
| 889 | | ROM_BIOS(4) ) |
| 862 | ROMX_LOAD( "sxrom-d", 0x00000, 0x40000, CRC(f8f5dc58) SHA1(3be5f895f4c731fd4c863237c7342cab4e8c42b1), ROM_BIOS(4) ) |
| 890 | 863 | |
| 891 | 864 | ROM_SYSTEM_BIOS( 4, "e", "Version E" ) |
| 892 | | ROMX_LOAD( "sxrom-e", |
| 893 | | 0x00000, 0x40000, |
| 894 | | CRC(704ffa08) SHA1(0d498d135bf729c1d775cce522528837729e2e94), |
| 895 | | ROM_BIOS(5) ) |
| 865 | ROMX_LOAD( "sxrom-e", 0x00000, 0x40000, CRC(704ffa08) SHA1(0d498d135bf729c1d775cce522528837729e2e94), ROM_BIOS(5) ) |
| 896 | 866 | |
| 897 | 867 | ROM_SYSTEM_BIOS( 5, "j", "Version J" ) |
| 898 | | ROMX_LOAD( "sxrom-j", |
| 899 | | 0x00000, 0x40000, |
| 900 | | CRC(1a6378ef) SHA1(5235f5379f1fd7edfe9bb6bf466b60d279163e73), |
| 901 | | ROM_BIOS(6) ) |
| 868 | ROMX_LOAD( "sxrom-j", 0x00000, 0x40000, CRC(1a6378ef) SHA1(5235f5379f1fd7edfe9bb6bf466b60d279163e73), ROM_BIOS(6) ) |
| 902 | 869 | |
| 903 | 870 | /* no F, G, H, I revisions? */ |
| 904 | 871 | |
src/mess/drivers/glasgow.c
| r4305 | r4306 | |
| 112 | 112 | |
| 113 | 113 | static WRITE16_HANDLER( write_lcd_flag_gg ) |
| 114 | 114 | { |
| 115 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 115 | 116 | UINT8 lcd_flag; |
| 116 | 117 | lcd_flag = data >> 8; |
| 117 | | beep_set_state(0, lcd_flag & 1 ? 1 : 0); |
| 118 | beep_set_state(speaker, lcd_flag & 1 ? 1 : 0); |
| 118 | 119 | if (lcd_flag == 0) |
| 119 | 120 | key_selector = 1; |
| 120 | 121 | |
| r4305 | r4306 | |
| 179 | 180 | |
| 180 | 181 | static WRITE16_HANDLER( write_irq_flag ) |
| 181 | 182 | { |
| 182 | | beep_set_state(0, data & 0x100); |
| 183 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 184 | beep_set_state(speaker, data & 0x100); |
| 183 | 185 | logerror("Write 0x800004 = %x \n", data); |
| 184 | 186 | irq_flag = 1; |
| 185 | 187 | beeper = data; |
| r4305 | r4306 | |
| 393 | 395 | |
| 394 | 396 | static WRITE32_HANDLER ( write_beeper32 ) |
| 395 | 397 | { |
| 396 | | beep_set_state(0, data & 0x01000000); |
| 398 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 399 | beep_set_state(speaker, data & 0x01000000); |
| 397 | 400 | logerror("Write 0x8000004 = %x \n", data); |
| 398 | 401 | irq_flag = 1; |
| 399 | 402 | beeper = data; |
| r4305 | r4306 | |
| 417 | 420 | |
| 418 | 421 | static MACHINE_START( glasgow ) |
| 419 | 422 | { |
| 423 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 420 | 424 | key_selector = 0; |
| 421 | 425 | irq_flag = 0; |
| 422 | 426 | lcd_shift_counter = 3; |
| 423 | 427 | timer_pulse(machine, ATTOTIME_IN_HZ(50), NULL, 0, update_nmi); |
| 424 | | beep_set_frequency(0, 44); |
| 428 | beep_set_frequency(speaker, 44); |
| 425 | 429 | } |
| 426 | 430 | |
| 427 | 431 | |
| 428 | 432 | static MACHINE_START( dallas32 ) |
| 429 | 433 | { |
| 434 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 430 | 435 | lcd_shift_counter = 3; |
| 431 | 436 | timer_pulse(machine, ATTOTIME_IN_HZ(50), NULL, 0, update_nmi32); |
| 432 | | beep_set_frequency(0, 44); |
| 437 | beep_set_frequency(speaker, 44); |
| 433 | 438 | } |
| 434 | 439 | |
| 435 | 440 | |
src/mess/drivers/ip22.c
| r4305 | r4306 | |
| 1025 | 1025 | static UINT32 nPBUS_DMA_NextPtr; |
| 1026 | 1026 | static UINT32 nPBUS_DMA_WordsLeft; |
| 1027 | 1027 | |
| 1028 | static const device_config *dmadac[1]; |
| 1029 | |
| 1028 | 1030 | static TIMER_CALLBACK(ip22_dma) |
| 1029 | 1031 | { |
| 1032 | dmadac[0] = devtag_get_device(machine, SOUND, "dmadac"); |
| 1030 | 1033 | if( nPBUS_DMA_Active ) |
| 1031 | 1034 | { |
| 1032 | 1035 | INT16 temp16; |
| r4305 | r4306 | |
| 1034 | 1037 | // verboselog(machine, 0, "nPBUS_DMA_CurPtr - 0x08000000/4 = %08x\n", (nPBUS_DMA_CurPtr - 0x08000000)/4 ); |
| 1035 | 1038 | temp16 = ( ip22_mainram[(nPBUS_DMA_CurPtr - 0x08000000)/4] & 0xffff0000 ) >> 16; |
| 1036 | 1039 | temp16 = ( ( temp16 & 0xff00 ) >> 8 ) | ( ( temp16 & 0x00ff ) << 8 ); |
| 1037 | | dmadac_transfer(0, 1, 1, 1, 1, &temp16); |
| 1040 | dmadac_transfer(&dmadac[0], 1, 1, 1, 1, &temp16); |
| 1038 | 1041 | nPBUS_DMA_CurPtr += 4; |
| 1039 | 1042 | nPBUS_DMA_WordsLeft -= 4; |
| 1040 | 1043 | |
| r4305 | r4306 | |
| 1159 | 1162 | |
| 1160 | 1163 | static MACHINE_RESET( ip225015 ) |
| 1161 | 1164 | { |
| 1165 | dmadac[0] = devtag_get_device(machine, SOUND, "dmadac"); |
| 1162 | 1166 | mc_init(machine); |
| 1163 | 1167 | nHPC3_enetr_nbdp = 0x80000000; |
| 1164 | 1168 | nHPC3_enetr_cbp = 0x80000000; |
| r4305 | r4306 | |
| 1173 | 1177 | |
| 1174 | 1178 | nPBUS_DMA_Active = 0; |
| 1175 | 1179 | |
| 1176 | | dmadac_set_frequency(0, 1, 44100); |
| 1177 | | dmadac_enable(0, 1, 1); |
| 1180 | dmadac_set_frequency(&dmadac[0], 1, 44100); |
| 1181 | dmadac_enable(&dmadac[0], 1, 1); |
| 1178 | 1182 | } |
| 1179 | 1183 | |
| 1180 | 1184 | static void dump_chain(const address_space *space, UINT32 ch_base) |
src/mess/drivers/osi.c
| r4305 | r4306 | |
| 296 | 296 | |
| 297 | 297 | static WRITE8_HANDLER( osi630_ctrl_w ) |
| 298 | 298 | { |
| 299 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 299 | 300 | /* |
| 300 | 301 | |
| 301 | 302 | bit description |
| r4305 | r4306 | |
| 311 | 312 | |
| 312 | 313 | */ |
| 313 | 314 | |
| 314 | | beep_set_state(0, BIT(data, 1)); |
| 315 | beep_set_state(speaker, BIT(data, 1)); |
| 315 | 316 | } |
| 316 | 317 | |
| 317 | 318 | static WRITE8_HANDLER( osi630_sound_w ) |
| 318 | 319 | { |
| 319 | | if (data) beep_set_frequency(0, 49152/data); |
| 320 | const device_config *speaker = devtag_get_device(space->machine, SOUND, "beep"); |
| 321 | if (data) beep_set_frequency(speaker, 49152/data); |
| 320 | 322 | } |
| 321 | 323 | |
| 322 | 324 | /* Disk Drive */ |
| r4305 | r4306 | |
| 834 | 836 | |
| 835 | 837 | static TIMER_CALLBACK( setup_beep ) |
| 836 | 838 | { |
| 837 | | beep_set_state(0, 0); |
| 838 | | beep_set_frequency(0, 300); |
| 839 | const device_config *speaker = devtag_get_device(machine, SOUND, "beep"); |
| 840 | beep_set_state(speaker, 0); |
| 841 | beep_set_frequency(speaker, 300); |
| 839 | 842 | } |
| 840 | 843 | |
| 841 | 844 | static DRIVER_INIT( c1p ) |
src/mess/drivers/pce.c
| r4305 | r4306 | |
| 79 | 79 | AM_RANGE( 0x1F0000, 0x1F1FFF) AM_RAM AM_MIRROR(0x6000) AM_BASE( &pce_user_ram ) |
| 80 | 80 | AM_RANGE( 0x1FE000, 0x1FE3FF) AM_READWRITE( vdc_0_r, vdc_0_w ) |
| 81 | 81 | AM_RANGE( 0x1FE400, 0x1FE7FF) AM_READWRITE( vce_r, vce_w ) |
| 82 | | AM_RANGE( 0x1FE800, 0x1FEBFF) AM_DEVREADWRITE( SOUND, "c6280", c6280_r, c6280_w ) |
| 82 | AM_RANGE( 0x1FE800, 0x1FEBFF) AM_DEVREADWRITE( SOUND, "main", c6280_r, c6280_w ) |
| 83 | 83 | AM_RANGE( 0x1FEC00, 0x1FEFFF) AM_READWRITE( h6280_timer_r, h6280_timer_w ) |
| 84 | 84 | AM_RANGE( 0x1FF000, 0x1FF3FF) AM_READWRITE( pce_joystick_r, pce_joystick_w ) |
| 85 | 85 | AM_RANGE( 0x1FF400, 0x1FF7FF) AM_READWRITE( h6280_irq_status_r, h6280_irq_status_w ) |
| r4305 | r4306 | |
| 104 | 104 | AM_RANGE( 0x1FE008, 0x1FE00F) AM_READWRITE( vpc_r, vpc_w ) AM_MIRROR(0x03E0) |
| 105 | 105 | AM_RANGE( 0x1FE010, 0x1FE017) AM_READWRITE( vdc_1_r, vdc_1_w ) AM_MIRROR(0x03E0) |
| 106 | 106 | AM_RANGE( 0x1FE400, 0x1FE7FF) AM_READWRITE( vce_r, vce_w ) |
| 107 | | AM_RANGE( 0x1FE800, 0x1FEBFF) AM_DEVREADWRITE( SOUND, "c6280", c6280_r, c6280_w ) |
| 107 | AM_RANGE( 0x1FE800, 0x1FEBFF) AM_DEVREADWRITE( SOUND, "main", c6280_r, c6280_w ) |
| 108 | 108 | AM_RANGE( 0x1FEC00, 0x1FEFFF) AM_READWRITE( h6280_timer_r, h6280_timer_w ) |
| 109 | 109 | AM_RANGE( 0x1FF000, 0x1FF3FF) AM_READWRITE( pce_joystick_r, pce_joystick_w ) |
| 110 | 110 | AM_RANGE( 0x1FF400, 0x1FF7FF) AM_READWRITE( h6280_irq_status_r, h6280_irq_status_w ) |
| r4305 | r4306 | |
| 185 | 185 | |
| 186 | 186 | MDRV_NVRAM_HANDLER( pce ) |
| 187 | 187 | MDRV_SPEAKER_STANDARD_STEREO("left","right") |
| 188 | | MDRV_SOUND_ADD("c6280", C6280, MAIN_CLOCK/6) |
| 188 | MDRV_SOUND_ADD("main", C6280, MAIN_CLOCK/6) |
| 189 | 189 | MDRV_SOUND_ROUTE(0, "left", 1.00) |
| 190 | 190 | MDRV_SOUND_ROUTE(1, "right", 1.00) |
| 191 | 191 | |
| r4305 | r4306 | |
| 227 | 227 | |
| 228 | 228 | MDRV_NVRAM_HANDLER( pce ) |
| 229 | 229 | MDRV_SPEAKER_STANDARD_STEREO("left","right") |
| 230 | | MDRV_SOUND_ADD("c6280", C6280, MAIN_CLOCK/6) |
| 230 | MDRV_SOUND_ADD("main", C6280, MAIN_CLOCK/6) |
| 231 | 231 | MDRV_SOUND_ROUTE(0, "left", 1.00) |
| 232 | 232 | MDRV_SOUND_ROUTE(1, "right", 1.00) |
| 233 | 233 | |
| r4305 | r4306 | |
| 260 | 260 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT CONFIG COMPANY FULLNAME */ |
| 261 | 261 | CONS( 1987, pce, 0, 0, pce, pce, pce, 0, "Nippon Electronic Company", "PC Engine", GAME_IMPERFECT_SOUND ) |
| 262 | 262 | CONS( 1989, tg16, pce, 0, pce, pce, tg16, 0, "Nippon Electronic Company", "TurboGrafx 16", GAME_IMPERFECT_SOUND ) |
| 263 | | CONS( 1989, sgx, pce, 0, sgx, pce, sgx, 0, "Nippon Electronic Company", "SuperGrafx", GAME_IMPERFECT_SOUND ) |
| 263 | CONS( 1989, sgx, pce, 0, sgx, pce, sgx, 0, "Nippon Electronic Company", "SuperGrafx", GAME_IMPERFECT_SOUND ) |
| 264 | 264 | |