add wip sp0256 speech processor

This commit is contained in:
dinkc64 2018-05-16 12:42:14 +00:00
parent 4f76088476
commit 36a4087e23
3 changed files with 1451 additions and 1 deletions

View File

@ -97,7 +97,7 @@ depobj = burn.o burn_gun.o burn_led.o burn_shift.o burn_memory.o burn_pal.o bur
burn_ym3526.o burn_ym3812.o burn_ymf278b.o c6280.o dac.o es5506.o es8712.o flower.o flt_rc.o fm.o fmopl.o ym2612.o gaelco.o ics2115.o iremga20.o \
k005289.o k007232.o k051649.o k053260.o k054539.o msm5205.o msm5232.o msm6295.o namco_snd.o c140.o nes_apu.o tms5220.o tms36xx.o phoenixsound.o \
pleiadssound.o pokey.o rf5c68.o saa1099.o samples.o segapcm.o sn76477.o sn76496.o upd7759.o vlm5030.o wiping.o x1010.o ym2151.o ym2413.o \
ymdeltat.o ymf278b.o ymz280b.o snk6502_sound.o \
ymdeltat.o ymf278b.o ymz280b.o snk6502_sound.o sp0256.o \
\
arm7_intf.o arm_intf.o h6280_intf.o hd6309_intf.o konami_intf.o m6502_intf.o m6800_intf.o m6805_intf.o m6809_intf.o \
m68000_intf.o nec_intf.o pic16c5x_intf.o s2650_intf.o tlcs90_intf.o z80_intf.o z180_intf.o \

1388
src/burn/snd/sp0256.cpp Normal file

File diff suppressed because it is too large Load Diff

62
src/burn/snd/sp0256.h Normal file
View File

@ -0,0 +1,62 @@
/**********************************************************************
SP0256 Narrator Speech Processor emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************
_____ _____
Vss 1 |* \_/ | 28 OSC 2
_RESET 2 | | 27 OSC 1
ROM DISABLE 3 | | 26 ROM CLOCK
C1 4 | | 25 _SBY RESET
C2 5 | | 24 DIGITAL OUT
C3 6 | | 23 Vdi
Vdd 7 | SP0256 | 22 TEST
SBY 8 | | 21 SER IN
_LRQ 9 | | 20 _ALD
A8 10 | | 19 SE
A7 11 | | 18 A1
SER OUT 12 | | 17 A2
A6 13 | | 16 A3
A5 14 |_____________| 15 A4
**********************************************************************/
/*
GI SP0256 Narrator Speech Processor
By Joe Zbiciak. Ported to MESS by tim lindner.
Copyright Joseph Zbiciak, all rights reserved.
Copyright tim lindner, all rights reserved.
- This source code is released as freeware for non-commercial purposes.
- You are free to use and redistribute this code in modified or
unmodified form, provided you list us in the credits.
- If you modify this source code, you must add a notice to each
modified source file that it has been changed. If you're a nice
person, you will clearly mark each change too. :)
- If you wish to use this for commercial purposes, please contact us at
intvnut@gmail.com (Joe Zbiciak), tlindner@macmess.org (tim lindner)
- This entire notice must remain in the source code.
*/
void sp0256_reset();
void sp0256_init(UINT8 *rom, INT32 clock);
void sp0256_set_drq_cb(void (*cb)(UINT8));
void sp0256_set_sby_cb(void (*cb)(UINT8));
void sp0256_set_clock(INT32 clock);
void sp0256_exit();
void sp0256_scan(INT32 nAction, INT32* pnMin);
void sp0256_ald_write(UINT8 data);
UINT8 sp0256_lrq_read();
UINT8 sp0256_sby_read();
UINT16 sp0256_spb640_read();
void sp0256_spb640_write(UINT16 offset, UINT16 data);
void sp0256_set_clock(INT32 clock);
void sp0256_update(INT16 *sndbuff, INT32 samples);