Jump to content
UNIXcoffee928

V: Voice Device

Recommended Posts

I've been experimenting with the 1400XL emulation in the most recent version of atari800. I was able to get the 1400XL system to boot with the -1400 switch and the correct 1400 ROM. Works, can boot to BASIC. 

 

The emulation allows for the use of the V: device for speech synthesis. Can someone post some short BASIC code examples of how to use the V: device?

 

Thanks

  • Like 1

Share this post


Link to post
Share on other sites

10 OPEN #4,8,0,"V:PF"

20 ? #4;"GREETINGS PROE-FESOR FAAL KE-EN .."

25 ? #4;"E-EGGSELENT."

30 ? #4;"ITS BEEN AE LAANG TIEM.."

35 ? #4;"KAYN YOO EGSPLAEN THEE REEMOOVUL UV YOR YOOSER UKOUNT"

36 ? #4;"AAN JOON TWENTEE THHERERD, 9-TEEN 7-TEE-THHREEEE.."

40 ? #4;"SHAAL WEE PLAE AE GAEM."

50 ? #4;"WHICH SIED DOO YOO WAANT."

60 ? #4;"AE STRAENJ GAEM. THEE OENLEE WAE TOO WIN IS NAAT TOO PLAE."

70 ? #4;"HOU UBOUT AE NIES GAEM OF CHE-ESS"

80 STOP

Share this post


Link to post
Share on other sites

Actually, I reckon it'd need phonetics - no way would it be like the modern ones that can deduce the proper pronounciation of common words.

 

If you get it going, be sure to capture some wavs of the popular sayings...

 

"Stay a while. Stay forever."

 

"Fuck you, arsehole."

 

"I'll be back"

 

"Destroy the humanoid"

Share this post


Link to post
Share on other sites

The ROMs are here:

 

http://www.atarimuse...400xl/1400.html

 

you will need to provide their path location in the atari800.cfg file, under:

XLD_D_ROM=D:

XLD_V_ROM=D:

 

----

I was pretty close to that above wargames program, only slightly off, since the documentation (what little there is) prompted me to guess that V:1:PD would do the trick.

 

Then again, maybe it does. I'm getting an ERROR 130 when I attempt to run the above program... So it's not finding the V: handler.

 

Some setting must not be right. When atari800 starts, it reports that it loaded the voice ROM image:

 

>atari800 -windowed -1400

Using Atari800 config file: .atari800.cfg
Created by Atari 800 Emulator, Version 2.1.0
loaded XLD voice rom image detected 16bpp
Video Mode: 336x240x16[ ] Full screen  [ ] BW  [d] Width Mode  [ ] Joysticks Swapped
video initialized
joystick 0 not found
joystick 1 not found

 

Is there handler code that needs to be loaded off of disk to enable the voice synthesizer on the 1400XL?

 

Thanks

Share this post


Link to post
Share on other sites

Is there a V entry in the CIO table? If not something will need to be loaded from disk or initialized so the V: entry points to the voice handler code.

Share this post


Link to post
Share on other sites

The reason I stopped being interested in this is on page 12.

 

"There is no pitch/inflection control.

There is no volume control"

 

That's really unacceptable for speech in 1983.

Share this post


Link to post
Share on other sites

There is no special driver.

Use -nopatchall to disable all ROM patches.

Use 1400.ROM (crc32: 25ea9356) and the regular XL/XE os.

Load basic with no disk and type DOS and the Atari should talk in self-test mode.

Share this post


Link to post
Share on other sites

Yeah, the pitch & volume statement in the manual jumped out at me, as well.

 

The thing is, the 1400XL apparently doesn't blank the screen while talking, making it fairly useful, regardless.

 

Speaking of which... has anyone been able to get the S.A.M. voice synthesizer to work under emulation? It was always a favorite, back in the day, on real hardware. I've tried to get it to work in Atari800WinPlus 4.0, atari800, and atari++, to no avail.

 

Anyone have an .ATR for SAM that works? I've tried two different ones, neither worked.

 

===

 

OK, so apparently, I have the wrong 1400 ROM. Odd that it reports that it loaded, on the atari800 emulator.

 

Next question, of course, is: where oh, where might one find the file "1400.ROM", crc32: 25ea9356??? 

 

===

 

The movie, "Colossus: The Forbin Project", is one of those great hacker movies, with tons of very quotable voice synthesized quotes. Definitely required watching; as a metaphor it details the more harrowing aspects of system administration. lol.

 

===

 

Thanks, Perry, for the code example!

 

 

Hopefully the correct 1400XL ROM will turn up.

Share this post


Link to post
Share on other sites

For SAM to work properly, you'd need forced-volume (digital) sound to also work properly.

 

A nice project would be to disassemble SAM and create a source for it, then re-assemble the whole thing so it could run from under the OS ROM, or 130XE extended RAM.

 

Additional to that... change it to be able to use Pokey Timers rather than delay loops. That alone would probably improve it's quality by a good percentage, especially with the screen enabled.

Share this post


Link to post
Share on other sites

I wonder how this sounds compared to the SpeakJet-2 chip used in the AtariVox? I love all of those "old-school" speech chips.

 

Stephen Anderson

Share this post


Link to post
Share on other sites

The Tong 1450XLD had the SSI-263, which is different from the SC-01.

But there is no voice ROM available which is designed for it.

The two ROMs 1400.rom and 1450VHND.LER are for the SC-01.

If it existed, it could be emulated.

I heard that the V: device didn't work on the TONG prototypes.

Maybe the Tong 1450XLD ROM is for the old SC-01 version.

I wonder if the SSI-263 1450XLD ROM code exists.

  • Like 1

Share this post


Link to post
Share on other sites

The Tong 1450XLD had the SSI-263, which is different from the SC-01.

But there is no voice ROM available which is designed for it.

The two ROMs 1400.rom and 1450VHND.LER are for the SC-01.

If it existed, it could be emulated.

I heard that the V: device didn't work on the TONG prototypes.

Maybe the Tong 1450XLD ROM is for the old SC-01 version.

I wonder if the SSI-263 1450XLD ROM code exists.

Actual Votrax SC-01 ICs are available on ebay, for $29.00, here.

 

It would be cool to interface this right to the PC's serial port. You probably could make a Right Cartridge slot cartridge for the 800 pretty easily, too.

Share this post


Link to post
Share on other sites

Was the speech hardware in the 1400/1450 on the bus/had register addresses? Or was it tied into SIO somehow?

Share this post


Link to post
Share on other sites

I think it was a PBI device - in that case the likely setup is that registers become available in the $D1xx area when the device is enabled it's bit @ $D1FF.

 

Re any CIO interface - you don't necessarily need a resident device handler - CIO on the XL allows for dynamically adding handlers via SIO or PBI attached devices.

Share this post


Link to post
Share on other sites

Sorry.... a little off topic and an old thread but how hard would it be to take one of those SC-01 chips and interface it with a 600XL or 800XL PBI bus? Was there a lot of complicated glue logic involved in the 1400XL?

 

Just thought it would be cool to have a mechanical sounding voice synth to play with that was usable the same way it was in the 1400XL. Then I'd have even more reason to play with it in emulation too.

Edited by kogden

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...