Seite 1 von 1
Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 13:37
von wsterm
Hallo Propeller-Freunde,
habe ein bisschen ausgemistet und fand einen...
SP0256-AL2
Ich dachte mir das wär doch was für den Propeller.
und es entstand:
Propeller als SP0256-AL2
VGA (optional)
PS/2 Keyboard (optional)
Parallel oder Seriell-Steuerung.
hier zu finden
http://propeller.ws-nbg.de/main.php
Grüsse aus Nürnberg
Werner
Re: Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 15:11
von digger
Is ja geil, das ist DIE stimme für unseren HIVE.
Sowas von retro und Cool. Ich musst da sofort an
WOPR denken.
Re: Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 15:47
von PIC18F2550
Welcher Sprachumfang wird unter stützt?
(255 Speicherplätze)
Wörter oder phonetische Silben.
Re: Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 16:12
von wsterm
Hi,
@PIC18F2550
Der SP0256-AL2 hat 5 Pausen und 59 Phoneme gespeichert, also 64 sogenannte Allophones.
Er wird mit Werten zwischen 00h (0d) und 3Fh (63d) gefüttert.
Keine Wörter!
Die Wörter muss man sich selbst zusammenpfriemeln.
Gruss
Werner
Re: Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 16:21
von PIC18F2550
Gibt es da auch eine Liste wie welche Wörter zusammengebaut werden müssen?
Re: Propeller als SP0256-AL2
Verfasst: Mi 13. Jan 2016, 20:47
von wsterm
Hi,
@PIC18F2550
der Chip ist schon sehr alt, im Internet findet man nicht mehr viel.
Habe mal ein altes Datenblatt angehängt.
Leider nicht viele Wörter drin...
Gruss
Werner
Re: Propeller als SP0256-AL2
Verfasst: Do 14. Jan 2016, 09:39
von PIC18F2550
An welcher Stelle in deinem Programm erfolgt die akustische Ausgabe.
Ich kann diese nicht Finden
im "SPEAK.spin"
Beschreib einfach mal kurz das Prinzip.
(englisch ist nicht so meine Welt
)
Re: Propeller als SP0256-AL2
Verfasst: Do 14. Jan 2016, 13:39
von wsterm
Hi,
@PIC18F2550
SPEAK.spin ist eigentlich nur ein I2C-Treiber.
Im Abschnitt "i2c_read" liest er ein Byte nach dem anderen aus EEPROM #1 oder #2.
Code: Alles auswählen
'*********************************************************************************************************
i2c_read andn dira, _sdamask ' set sda to input
mov _data, #0
mov _loop_cnt, #8
mov _delay, cnt
add _delay, _i2cd
:bit_loop waitcnt _delay, _i2cd ' delay 1/4 period
shl _data, #1
or outa, _sclmask ' set clock high
waitcnt _delay, _i2cd ' delay 1/4 period
and _sdamask, ina wz, nr ' test data input bit
if_nz add _data, #1 ' set bit in output data if input bit was high
waitcnt _delay, _i2cd ' delay 1/4 period
andn outa, _sclmask ' set clock low
waitcnt _delay, _i2cd ' delay 1/4 period
djnz _loop_cnt, #:bit_loop
cmp _count, #1 wz, nr ' see if this is not the last byte to read
if_nz andn outa, _sdamask ' generate an ack by setting sda low
if_z or outa, _sdamask ' generate a nack
or dira, _sdamask ' set sda back to output
waitcnt _delay, _i2cd ' delay 1/4 period
or outa, _sclmask ' set clock high
waitcnt _delay, _i2cd ' delay 1/4 period
waitcnt _delay, _i2cd ' delay 1/4 period
andn outa, _sclmask ' set clock low
waitcnt _delay, _i2cd ' delay 1/4 period
shl _data, #24 ' <-- Das gelesene Byte wird 24x nach links geshiftet = 32 Bit Wert
mov frqa, _data ' <-- Der 32-Bit Wert wird in Counter A (frqa) geschrieben
i2c_read_ret ret
'*********************************************************************************************************
Der Counter A (es gibt auch B) muss natürlich vorher im richtigen Modus initialisiert werden.
Aber das wäre jetzt zu ausführlich.
Gruss
Werner
P.S.
Die Ausgabegeschwindigket kann durch die Konstante "outdelay" im DAT Abschnitt
verändert werden. 5500 ist ungefähr original SP0256-AL2 mit 3.12 Mhz.
Um so kleiner der Wert, um so mehr Micky Maus.
Re: Propeller als SP0256-AL2
Verfasst: Do 14. Jan 2016, 16:18
von PIC18F2550
Jetzt verstehe ich wie das Funktioniert.
Das sind Frequenz Tabellen im festen Zeitraster.
Danke