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ć.
Gopher2600 v0.40.0 To pierwszy raz, kiedy informujemy o tym projekcie.
Felix 0.6.4 Pojawiła się nowa wersja emulatora konsoli Atari Lynx - Felix.
Atari Font Maker V1.6.17.0 To rozbudowane narzędzie do tworzenia fontów, kafelków i grafik dla Atari 8-bit.
Echa Grawitacji 2025 Tematem przewodnim był "Dinozaur".
TURGEN 9.4.1 Nowa wersja popularnego narzędzia do tworzenia obrazów kaset dla komputerów Atari
atari.area forum » Programowanie - 8 bit » SC-01A rejestry
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
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.
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.
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
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ć.
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.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » SC-01A rejestry
Wygenerowano w 0.022 sekund, wykonano 67 zapytań