Please receive my Amiga-Version of your great program. The code still compiles and works on Linux.
I switched back to old table-mult-Version because it is faster on an unexpanded 7MHz/68000 Amiga.
Two things might be interesting for you:
main.c
void WriteWav() did only work on Little-Endian machines. The Amiga is Big-Endian so this became obvious.
It works on big and little endian now.
sam.c
void Init()
buffer = malloc(2205010);
memset(buffer,128,2205010); //AF: avoid "hiss" at the end of sound playback
I had often a "hit-noise" at the end of the spoken text. The memset fixed that. The man page for malloc states that "The memory is not initialized"
main.c
main()
I commented the two lines
// freopen("CON", "w", stdout);
// freopen("CON", "w", stderr);
When sam is started without parameters, the help is printed but only, when the two lines are commented. With these two lines active nothing is printed...
Please receive my Amiga-Version of your great program. The code still compiles and works on Linux. I switched back to old table-mult-Version because it is faster on an unexpanded 7MHz/68000 Amiga.
Two things might be interesting for you: main.c void WriteWav() did only work on Little-Endian machines. The Amiga is Big-Endian so this became obvious. It works on big and little endian now.
sam.c void Init() buffer = malloc(2205010); memset(buffer,128,2205010); //AF: avoid "hiss" at the end of sound playback I had often a "hit-noise" at the end of the spoken text. The memset fixed that. The man page for malloc states that "The memory is not initialized"
main.c main() I commented the two lines // freopen("CON", "w", stdout); // freopen("CON", "w", stderr); When sam is started without parameters, the help is printed but only, when the two lines are commented. With these two lines active nothing is printed...