From a24097ba8118181886a9f0765e76d5fac99f6056 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Fri, 10 Feb 2012 18:26:29 +0100 Subject: converted to unix line endings --- sam.c | 134 +++++++++++++++++++++++++++++------------------------------ sam.h | 26 ++++++------ sam_player.c | 92 ++++++++++++++++++++-------------------- 3 files changed, 126 insertions(+), 126 deletions(-) diff --git a/sam.c b/sam.c index ec02fda..7c09e10 100644 --- a/sam.c +++ b/sam.c @@ -1,67 +1,67 @@ -// sam.c -// -// 20060811 Markku Alén - -#include "sam.h" -#include "c64.h" -#include "cpu.h" -#include "sid.h" - -static void feed(const char *text) -{ - char c; - while((c = *(text++)) != '\0') - { - kbd_ascii_push(c, 1); - c64_run(20000); - kbd_ascii_push(c, 0); - c64_run(20000); - } -} - -static void run_to(int addr_start, int addr_stop) -{ - int pc; - for(;;) - { - pc = get_pc(); - if(pc >= addr_start && pc <= addr_stop) - break; - c64_run(20000); - } -} - -void sam_init(void) -{ - c64_init(); - run_to(0xe5cd, 0xe5d5); - feed("LOAD\"SAM.PRG\",1,1\r RUN\rH"); - run_to(0xe5cd, 0xe5d5); - //feed("]RE\r"); - //run_to(0xe5cd, 0xe5d5); -} - -static void sam_say(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) -{ - feed("SAY\""); - feed(text); - feed("\"\r"); - start_record(frequency, wave_buf, *wave_len_ref); - run_to(0xe5cd, 0xe5d5); - *wave_len_ref = stop_record(); -} - -void sam_recite(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) -{ - feed("]RECITER\r"); - run_to(0xe5cd, 0xe5d5); - sam_say(text, frequency, wave_buf, wave_len_ref); -} - -void sam_phonetic(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) -{ - feed("]SAM\r"); - run_to(0xe5cd, 0xe5d5); - sam_say(text, frequency, wave_buf, wave_len_ref); -} - +// sam.c +// +// 20060811 Markku Alén + +#include "sam.h" +#include "c64.h" +#include "cpu.h" +#include "sid.h" + +static void feed(const char *text) +{ + char c; + while((c = *(text++)) != '\0') + { + kbd_ascii_push(c, 1); + c64_run(20000); + kbd_ascii_push(c, 0); + c64_run(20000); + } +} + +static void run_to(int addr_start, int addr_stop) +{ + int pc; + for(;;) + { + pc = get_pc(); + if(pc >= addr_start && pc <= addr_stop) + break; + c64_run(20000); + } +} + +void sam_init(void) +{ + c64_init(); + run_to(0xe5cd, 0xe5d5); + feed("LOAD\"SAM.PRG\",1,1\r RUN\rH"); + run_to(0xe5cd, 0xe5d5); + //feed("]RE\r"); + //run_to(0xe5cd, 0xe5d5); +} + +static void sam_say(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) +{ + feed("SAY\""); + feed(text); + feed("\"\r"); + start_record(frequency, wave_buf, *wave_len_ref); + run_to(0xe5cd, 0xe5d5); + *wave_len_ref = stop_record(); +} + +void sam_recite(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) +{ + feed("]RECITER\r"); + run_to(0xe5cd, 0xe5d5); + sam_say(text, frequency, wave_buf, wave_len_ref); +} + +void sam_phonetic(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref) +{ + feed("]SAM\r"); + run_to(0xe5cd, 0xe5d5); + sam_say(text, frequency, wave_buf, wave_len_ref); +} + diff --git a/sam.h b/sam.h index 4b7bad8..e752b62 100644 --- a/sam.h +++ b/sam.h @@ -1,13 +1,13 @@ -// sam.h -// -// 20060811 Markku Alén - -#ifndef __SAM_H__ -#define __SAM_H__ 1 - -void sam_init(void); -void sam_recite(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref); -void sam_phonetic(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref); - -#endif - +// sam.h +// +// 20060811 Markku Alén + +#ifndef __SAM_H__ +#define __SAM_H__ 1 + +void sam_init(void); +void sam_recite(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref); +void sam_phonetic(const char *text, unsigned int frequency, unsigned char *wave_buf, unsigned int *wave_len_ref); + +#endif + diff --git a/sam_player.c b/sam_player.c index 04207b2..ee604e7 100644 --- a/sam_player.c +++ b/sam_player.c @@ -1,46 +1,46 @@ -// sam_player.c -// -// 20060811 Markku Alén -// -// rel-0-2 - -#include "sam.h" -#include "wave.h" - -static unsigned char wave_buffer[200000]; -static wave_t wave = { 1, 44100, 8, 0, 1, wave_buffer }; - -int main(int argc, char **argv) -{ - int argi; - char *arg, c, buf[200], *p; - unsigned int wave_length; - p = buf; - for(argi = 1;argi < argc;argi++) - { - arg = argv[argi]; - do - { - c = *(arg++); - if(c >= 'a' && c <= 'z') - c = (c - 'a') + 'A'; - if(c != '\"') - { - if(p < &buf[sizeof(buf) - 1]) - *(p++) = (c != '\0') ? c : ' '; - } - }while(c != '\0'); - } - *p = '\0'; - sam_init(); - wave_length = sizeof(wave_buffer); - sam_recite(buf, wave.samples_per_sec, wave_buffer, &wave_length); - if(wave_length > 0) - { - if(wave_length > sizeof(wave_buffer)) - wave_length = sizeof(wave_buffer); - wave.frame_size = wave_length; - (void)wave_out(&wave); - } - return 0; -} +// sam_player.c +// +// 20060811 Markku Alén +// +// rel-0-2 + +#include "sam.h" +#include "wave.h" + +static unsigned char wave_buffer[200000]; +static wave_t wave = { 1, 44100, 8, 0, 1, wave_buffer }; + +int main(int argc, char **argv) +{ + int argi; + char *arg, c, buf[200], *p; + unsigned int wave_length; + p = buf; + for(argi = 1;argi < argc;argi++) + { + arg = argv[argi]; + do + { + c = *(arg++); + if(c >= 'a' && c <= 'z') + c = (c - 'a') + 'A'; + if(c != '\"') + { + if(p < &buf[sizeof(buf) - 1]) + *(p++) = (c != '\0') ? c : ' '; + } + }while(c != '\0'); + } + *p = '\0'; + sam_init(); + wave_length = sizeof(wave_buffer); + sam_recite(buf, wave.samples_per_sec, wave_buffer, &wave_length); + if(wave_length > 0) + { + if(wave_length > sizeof(wave_buffer)) + wave_length = sizeof(wave_buffer); + wave.frame_size = wave_length; + (void)wave_out(&wave); + } + return 0; +} -- cgit v1.2.3