aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sam.c134
-rw-r--r--sam.h26
-rw-r--r--sam_player.c92
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;
+}