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 +++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 67 insertions(+), 67 deletions(-) (limited to 'sam.c') 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); +} + -- cgit v1.2.3