1

Temat: SC-01A rejestry

Czy ktoś wie może gdzie podłączony był syntezator mowy w Atari 8-bit?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

2

Odp: SC-01A rejestry

na stronie D1

---
Speech Sinthesizer Interface Specyfication C062061

Ostatnio edytowany przez xxl (2013-12-02 13:19:14)

http://atari.pl/hsc/ad.php?i=1.

3

Odp: SC-01A rejestry

Dzięki. Gdyby ktoś potrzebował, to http://www.atarimuseum.com/ahs_archives … andler.pdf w sekcji 3.4 Design requirements są opisane rejestry:
$D104..$D107 - LATCH rejestr wyboru fonema (pewnie b0..b5=P0..P5), b7=IRQ enable (1=enable) / IRQ status (1=occured),
$D100..$D103 - STB rejestr linii strobującej zatrzaśnięcia danych w Px
$D1FF - A/R rejestr stanu linii A/R: b7=przetwarzanie fonema (1=busy, 0=ready)
a w http://www.redcedar.com/sc01/sc01jpeg.pdf jest opisany hardware.
W takim razie ciekawe, czy ROM 1400XL miał procedurę rozpoznawania IRQ od syntezatora mowy i gdzie leży wektor?

Edit: drobne poprawki

Ostatnio edytowany przez mono (2013-12-03 14:32:56)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

4

Odp: SC-01A rejestry

To jest PBI. Zatem wektor obsługi IRQ leży tam, gdzie wektor obsługi IRQ od PBI: $0238/9. Procedura obsługi jest w ROM-ie urządzenia, a nie bezpośrednio w OS-ie.

Ostatnio edytowany przez drac030 (2013-12-02 22:38:17)

KMK
? HEX$(6670358)

5

Odp: SC-01A rejestry

No tak, tyle że linia A/R jest wejściowa, a więc b7 da się tylko czytać z rejestru $D1FF. Oiw detekcja newdevica sprowadza się do ustawienia bitu w PDVREG($D1FF) i sprawdzenia czy w ROMie PBI znajduje się odpowiednia sygnatura (DEVID1($D803)=$80 i DEVID2($D80B)=$91) - wtedy urządzenie jest inicjalizowane. Ale jeśli nie ma sygnatury, to w $D1FF może być cokolwiek, a w systemie nie będzie po tym śladu. Czy na pewno ten syntezator jest newdevicem?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

6

Odp: SC-01A rejestry

Bankowo. Sam podlinkowałeś dokument, z którego to wynika: sekcja "Inicjowanie" wymienia ustawianie np. maski PDVMSK pozwalającej OS-owi na wybór ROM-u PBI, w którym rezyduje sterownik urządzenia. Po drugie, sekcja 3.1.2 wymienia "Parallel device number" wynoszący 7: czyli urządzenia zajmuje 7 bit PDVREG. Do tego rejestry są na stronie D1, przeznaczonej na PBI.

W $D1FF w teorii może być cokolwiek, ale ponieważ jest to rejestr sterujący urządzeniami PBI, samo jego użycie na to wskazuje. $D1FF (zapis) wybiera urządzenie, ale przy odczycie poszczególne bity sygnalizują status przerwania. Więc odczyt b7 da tenże status. Wszystko się zgadza, PBI jak malowanie. Tylko dump ROM-u trzeba byłoby zrobić (gdyby ktoś miał kompletne 1400XL).

KMK
? HEX$(6670358)

7

Odp: SC-01A rejestry

Wszystko jasne. Dzięki Panowie.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

8

Odp: SC-01A rejestry

Mam w zbiorach zawartość kartridża diagnostycznego  ATARI 1400 SUPER SALT SYSTEM TEST REV C.01 z 1983 roku, zawartość ROM-u PBI do syntetyzatora mowy (montuje w systemie handler V:) i kartridża 1400XL Telecommunicator, jak też handler na PBI do Atari 1450XLD (tyle że do układu SSI-263, który był zgodny z SC-02).

Post's attachments

1400_1450.rar 21.4 kb, liczba pobrań: 1 (od 2013-12-03) 

Tylko zalogowani mogą pobierać załączniki.
Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie

9

Odp: SC-01A rejestry

Nieźle!
Edytujemy ~/.atari800.cfg linię:

XLD_V_ROM=/sciezka/do/pliku/1400.ROM

następnie

$ atari800 -1400 -basic

Emulec powinien napisać:

loaded XLD voice rom image

A potem odpalamy przykład z http://atariage.com/forums/topic/153903 … try1883650 i cieszymy się syntezą :)

Post's attachments

VOICE.BAS 542 b, liczba pobrań: 3 (od 2013-12-03) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

10

Odp: SC-01A rejestry

Przy okazji można zauważyć, że jest to znakomity przykład na to, że urządzenie PBI nie musi być "zewnętrzne" (czyli dosłownie podpinane przez zewnętrzne, dedykowane gniazdo) - niektóre były (lub miały być) w środku komputera, jak to tutaj albo stacje dysków w 1450XLD.

Ostatnio edytowany przez drac030 (2013-12-03 17:30:24)

KMK
? HEX$(6670358)

11

Odp: SC-01A rejestry

Tam w środku jeszcze jest modem.

Edit: Podoba mi się coraz bardziej ta linia. Ech gdyby tak powstało nowe Atari, z tymi wszystkimi pięknymi rozwiązaniami... :D

Ostatnio edytowany przez mono (2013-12-03 18:02:04)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

12

Odp: SC-01A rejestry

Ten układ jeszcze parę lat temu można było kupić w Best Electronics. Poza tym, jeśli już się wyczerpał - może jest gdzieś rdzeń do FPGA albo da się go zrobić na podstawie emulacji zaszytej w Atari800? Jeśli tak, to dalej jest już z górki, można podpiąć toto pod bit 7 PBI (albo dowolny, bo dobrze napisany ROM PBI będzie działał na każdym bicie) i już masz to w XE.

KMK
? HEX$(6670358)

13

Odp: SC-01A rejestry

A na miłośników SELF-TEST'u czeka niespodzianka :)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

14

Odp: SC-01A rejestry

Tja - bit włączający Self-Test? A co z nim? Ja go wykorzystałem, przełączając go ręcznie po włączeniu komputera, na sygnał STROBE do Centronicsa (portu równoległego) do drukarki - pełne 8 bit mam na portach joysticka. Działa jak ta lala od '93, ale nie zdążyłem tego jeszcze nigdzie opisać itp.

I tylko się zastanawiam, z czym z nowych / innych rzeczy to może kolidować.

Ostatnio edytowany przez lemiel (2013-12-04 00:11:46)

15

Odp: SC-01A rejestry

Z 1MB pewnie. Nic innego poważnego nie przychodzi mi do głowy :)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

16

Odp: SC-01A rejestry

Miałem na myśli bit 7 (albo dowolny inny) PDVREG $D1FF, nie PORTB D301.

KMK
? HEX$(6670358)

17

Odp: SC-01A rejestry

No to odpalcie na 1400XL SELF TEST :D

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

18

Odp: SC-01A rejestry

No to odpaliłem. I nie widzę żadnych różnic.

Z dobrych wieści: synteza faktycznie działa. Zaskoczeniem jest, że to gada w tle.

KMK
? HEX$(6670358)

19

Odp: SC-01A rejestry

Różnic w SELF-TEŚCIE nie ma, ale (przynajmniej kiedy sam odpalam na emulcu) to przy wejściu coś tam gada. Fajne.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

20

Odp: SC-01A rejestry

Hm, istotnie. Ale tylko wtedy, kiedy wejdzie się przez komendę "DOS". Wtedy recytuje: "Atari 1400XL SELF TEST, press SELECT, START or RESET". "BYE" nie powoduje takiego efektu.

EDIT: jest tak dlatego, że VROM pod adresem $0263 instaluje coś takiego:

   LDA #$80
   STA $D1FF
   JMP $D852

i ustawia DOSVEC tak, żeby wskazywał ten adres.

Ostatnio edytowany przez drac030 (2013-12-05 10:54:34)

KMK
? HEX$(6670358)