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