Temat: SC-01A rejestry
Czy ktoś wie może gdzie podłączony był syntezator mowy w Atari 8-bit?
niewiedza buduje, wiedza rujnuje
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
FujiNET firmware v1.3.0 Nowa wersja oprogramowania do interfejsu sieciowego FujiNET. Tym razem z obsługą TCP!
hatari 2.5.0 Od dwóch dni dostępna jest najnowsza (2.5.0) wersja Hatari.
Grawitacja 2024 Czas na kolejną edycję 8 bitowego GameJamu.
Tenebra na Atari ST/STE Wersja gry na duże atari.
Wyniki FujiCup 2023 Wyniki konkursu FujiCup na najlepszą grę dla 8-bit Atari w 2023 roku zostały ogłoszone!
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Czy ktoś wie może gdzie podłączony był syntezator mowy w Atari 8-bit?
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)
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)
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?
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).
Wszystko jasne. Dzięki Panowie.
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).
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ą :)
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)
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)
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.
A na miłośników SELF-TEST'u czeka niespodzianka :)
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)
Z 1MB pewnie. Nic innego poważnego nie przychodzi mi do głowy :)
Miałem na myśli bit 7 (albo dowolny inny) PDVREG $D1FF, nie PORTB D301.
No to odpalcie na 1400XL SELF TEST :D
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.
Różnic w SELF-TEŚCIE nie ma, ale (przynajmniej kiedy sam odpalam na emulcu) to przy wejściu coś tam gada. Fajne.
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)
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.080 sekund, wykonano 11 zapytań ]