Chciałbym rozwiać wszelkie wątpliwości dotyczące rozdzielczości ekranu w trybie tekstowym XEP80, żeby emulację tegoż w Atari800 uczynić dokładniejszą. Wiadomo, że tryb tekstowy ma 80x25 znaków, a każdy znak ma 7 pikseli szerokości. Jednak na temat wysokości pojedynczego znaku jest wiele sprzecznych danych:
- źródło ze Stanów mówi, że w NTSC ta wysokość to 10 linii; dostępne skrinszoty potwierdzają tę wersję;
- Mathy z Holandii twierdzi, że wysokość w PAL jest 11 linii,
- Znowuż Stephen ze Stanów rzecze, że XEP80 był w tylko jednej wersji, programowo przełączalnej między PAL/NTSC, i że w obu trybach widzi on 10 linii;
- A teraz Jaskier udowadnia ponad wszelką wątpliwość, że w PAL wysokość znaku wynosi 12 linii.

Jak to wszystko pogodzić? Czy rzeczywiście jest tylko jedna wersja XEP80 przełączana programowo? Czy istniała kiedykolwiek wersja XEP-a pokazująca znaki wysokości 11 linii?

Jak w PAL wyglądają znaki, które mają grafikę w dolnych liniach (ramki itp.)? Czy 10. linia znaku jest kopiowana na 11. i 12. linię, czy też jest to bardziej skomplikowane (oznaczałoby to, że wersja PAL ma inny zestaw znaków, zawierający dane dot. 11. i 12. linii)?

I jeszcze - czy ktoś wie jaka jest częstotliwość zegara generującego piksele w XEP80? Bez tej wartości nie mogę poprawnie określić proporcji ekranu.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

2

Krótki napisał/a:

Jak to wszystko pogodzić? Czy rzeczywiście jest tylko jedna wersja XEP80 przełączana programowo? Czy istniała kiedykolwiek wersja XEP-a pokazująca znaki wysokości 11 linii?

Rozebrałem mojego XEPa. W środku nie zauważyłem nigdzie napisu PAL, ale to nie musi o niczym świadczyć.
Na płytce jest napis XEP80 C070900 REV.D, co ciekawe na kwarcu jest podobny napis:
C070930-1
12.000
UNI 87-E

Jeżeli faktycznie XEP jest programowo przełączana, to może jest wybór pomiędzy trybami 10-11-12. Czy oprogramowanie które mam do XEP jest różne od wersji amerykańskiej? Może inne oprogramowanie włączy inny tryb?

Krótki napisał/a:

Jak w PAL wyglądają znaki, które mają grafikę w dolnych liniach (ramki itp.)? Czy 10. linia znaku jest kopiowana na 11. i 12. linię, czy też jest to bardziej skomplikowane (oznaczałoby to, że wersja PAL ma inny zestaw znaków, zawierający dane dot. 11. i 12. linii)?

Owszem, linia 11 i 12 są identyczne z 10 w każdym znaku który sprawdzałem. Dziwacznie przez to wyglądają ukośniki. Szerokość znaku to 7 punktów. Ekran ma 24x80 znaków z czego 2 linie są kompletnie niewidoczne a w 2 krańcowe znaki wychodzą już na rogi monitora.

Krótki napisał/a:

I jeszcze - czy ktoś wie jaka jest częstotliwość zegara generującego piksele w XEP80? Bez tej wartości nie mogę poprawnie określić proporcji ekranu.

Nie jestem elektronikiem i nie potrafię rozpoznać taktowania nawet gdyby wyskoczyło na mnie z krzaków i kopnęło w tyłek. Trzeba uderzyć do Electrona, on też ma to dziwo.

Proporcjami ekranu bym się nie przejmował skoro to ustrojstwo generuje tak wysoki obraz, że trzeba przestrajać monitory aby to używać. Widziałem kiedyś XEPa podłączonego do monitora mającego pokrętło regulujące odstęp pomiędzy skanliniami. Dało się go wtedy używać, ale zmieniając proporcje ekranu.

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

3 Ostatnio edytowany przez Krótki (2011-12-31 18:41:40)

Jaskier napisał/a:

Jeżeli faktycznie XEP jest programowo przełączana, to może jest wybór pomiędzy trybami 10-11-12. Czy oprogramowanie które mam do XEP jest różne od wersji amerykańskiej? Może inne oprogramowanie włączy inny tryb?

Sterownik Sparty 4.4x XEP80.SYS obsługuje wybór systemu parametrami /P i /N.

Jaskier napisał/a:

Owszem, linia 11 i 12 są identyczne z 10 w każdym znaku który sprawdzałem. Dziwacznie przez to wyglądają ukośniki.

O, dzięki. Sam się zastanawiałem nad tymi ukośnikami.

Jaskier napisał/a:

Ekran ma 24x80 znaków

Jesteś pewiem? "Wszyscy mówią" że ma 25 wierszy.

Jaskier napisał/a:

Proporcjami ekranu bym się nie przejmował

Wiesz, chodzi o mityczną "wierność emulacji". Regulacja swoją drogą, ale chciałbym wiedzieć jakie ustawienie oznaczyć jako "100%".

A8CAS - narzędzie do 100% archiwizacji kaset Atari

4

Krótki napisał/a:

Sterownik Sparty 4.4x XEP80.SYS obsługuje wybór systemu parametrami /P i /N.

No niestety nie mam Sparty.

Krótki napisał/a:
Jaskier napisał/a:

Ekran ma 24x80 znaków

Jesteś pewiem? "Wszyscy mówią" że ma 25 wierszy.

Na 100% 24 wiersze.

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

5 Ostatnio edytowany przez Krótki (2012-01-02 23:49:25)

Jaskier napisał/a:

No niestety nie mam Sparty.

Za pomocą firmowego drivera i komend XIO też powinno się to dać zrobić. Z XEP80.DOC wynika, że wysłanie do XEP80 komendy "Master Reset" (XIO 22,#1,12,194,"E:") powinno zresetować urządzenie do domyślnego trybu 60Hz; następnie wysłanie komendy "Modify Text to 50 Hz Operation" (XIO 20,#1,12,215,"E:") powinno przęłączyć XEP-a w tryb PAL.

Oczywiście to wszystko hipoteza, nie mam jak tego przetestować.

Jaskier napisał/a:

Na 100% 24 wiersze.

Nadal twierdzę, że nie masz racji, ale chyba wiem dlaczego. Wg XEP80.DOC ostatni wiersz ekranu nie jest normalnie dostępny dla edytora (nie można do niego dotrzeć przez Control+starzałki, nie podlega przewijaniu), ale można na nim pisać skacząc do niego bezpośrednio, np. POSITION 0,24:? "ABCD";:POSITION 0,0. Podejrzewam, że u Ciebie 25. wiersz był zawsze pusty i nie zauważyłeś jego istnienia.

EDIT: W międzyczasie dokopałem się do inną fotkę z PAL-owskiego XEP-a, który też pokazuje 12 skanlinii. Oprócz tego znalazłem u Jera ROM-y XEP80; jeden z nich zawiera zestaw znaków. Definicja każdego znaku składa się z 16 bajtów, z których zawsze tylko 12 pierwszych jest wypełnione. Oznacza to, że linie 11. i 12. znaku nie są duplikatami linii 10., lecz są zczytywane z zestawu znaków (co widać na ww. zdjęciu na przykładzie przecinka).

No dobra, wygląda na to, że XEP80 można przełączać pomiędzy trybami 10/12 linii na znak; informacja jakoby było to 11 linii jest najwyraźniej błędna (zapewne pochodzi ze specyfikacji chipa NS405, gdzie liczba 11 linii/znak jest podana, ale dotyczy czegoś trochę innego).

A8CAS - narzędzie do 100% archiwizacji kaset Atari

6

Krótki napisał/a:

Za pomocą firmowego drivera i komend XIO też powinno się to dać zrobić. Z XEP80.DOC wynika, że wysłanie do XEP80 komendy "Master Reset" (XIO 22,#1,12,194,"E:") powinno zresetować urządzenie do domyślnego trybu 60Hz; następnie wysłanie komendy "Modify Text to 50 Hz Operation" (XIO 20,#1,12,215,"E:") powinno przęłączyć XEP-a w tryb PAL.

Oczywiście to wszystko hipoteza, nie mam jak tego przetestować.

Niestety obydwie komendy wywołują u mnie zwis kompa na tyle mocny, że zwykłe wciśnięcie reset powoduje zimny start.

Krótki napisał/a:
Jaskier napisał/a:

Na 100% 24 wiersze.

Nadal twierdzę, że nie masz racji, ale chyba wiem dlaczego. Wg XEP80.DOC ostatni wiersz ekranu nie jest normalnie dostępny dla edytora (nie można do niego dotrzeć przez Control+starzałki, nie podlega przewijaniu), ale można na nim pisać skacząc do niego bezpośrednio, np. POSITION 0,24:? "ABCD";:POSITION 0,0. Podejrzewam, że u Ciebie 25. wiersz był zawsze pusty i nie zauważyłeś jego istnienia.

A co ma za znaczenie co jest w tym mitycznym wierszu 25 skoro znajduje się on około 3cm poniżej dolnego poziomu ekranu?

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

7

Jaskier napisał/a:

Niestety obydwie komendy wywołują u mnie zwis kompa na tyle mocny, że zwykłe wciśnięcie reset powoduje zimny start.

Przykro mi to słyszeć. Dziękuję za przetestowanie.

Zmodyfikowałem oryginalny drajwer w taki sposób, aby na komputerze PAL inicjalizował XEP-a w trybie NTSC, a na komputerze NTSC - w trybie PAL. Jest to jedyny test mający szanse zadziałania, jaki mi przychodzi do głowy. Załączam zmodyfikowany sterownik (AUTORUN.SYS) oraz ATR dyskietki systemowej z już podmienionym AUTORUN-em. Jeśli masz możliwość chwilowego zastąpienia oryginalnego AUTORUN-a moim, albo wystartowania XEP-a z mojego ATR-a, to proszę Cię ponownie o przetestowanie - Twój XEP80 powinien tym razem wystartować w NTSC.

Mam też drugą prośbę - załączony program w BASIC-u pokazuje działanie atrybutów "underline" i "block graphics". Nie wiem jaki efekt te atrybuty dają w PAL-u, toteż proszę Cię o odpalenie tego programiku i zrobienie zdjęcia temu, co on wypisze.

10 ? CHR$(125)
20 POSITION 20,11:? CHR$(22);CHR$(14);CHR$(2)
30 POSITION 20,12:? CHR$(169);"X";CHR$(169)
40 POSITION 20,13:? CHR$(7);CHR$(13);CHR$(6)
50 ? CHR$(27);CHR$(255-32);:XIO 20,#1,12,244,"E:"
60 ? CHR$(27);CHR$(255-128);:XIO 20,#1,12,245,"E:"
Jaskier napisał/a:

A co ma za znaczenie co jest w tym mitycznym wierszu 25 skoro znajduje się on około 3cm poniżej dolnego poziomu ekranu?

Nie znam odpowiedzi na tak postawione pytanie.

Post's attachments

AUTORUN.SYS 1.8 kb, liczba pobrań: 3 (od 2012-01-06) 

TEST.BAS 362 b, liczba pobrań: 2 (od 2012-01-06) 

XEP80 System Diskette [h rev TV].atr 90.02 kb, liczba pobrań: 3 (od 2012-01-06) 

Tylko zalogowani mogą pobierać załączniki.
A8CAS - narzędzie do 100% archiwizacji kaset Atari

8 Ostatnio edytowany przez Jaskier (2012-01-08 19:15:24)

Niestety na moim obecnym PC nie jestem w stanie APE używać. Niby wizard wszystko rozpoznaje, ale po uruchomieniu mówi o błędzie inicjacji i przejściu na USB, a takiego kabla nie mam. Nie wiem czy to skutek tego że mam 64bit OS.

Przetestowałem tylko program w Basicu. Póki nie dopisałem XIO całość nawet znośnie wyglądała o potem pojawiły się linie (po pierwszym XIO) a po drugim znaki zmieniły swój wygląd (na przykład nawiasy).

Edit:
Ups. Dopiero teraz zauważyłem, że się walnąłem przy CHR$, sorki.

Faktem jest, że XIO zmienia cały ekran a nie jak bym się spodziewał tylko znaki od teraz wyświetlane.

Inna ciekawostka. Zanim załaduję autorun.sys XEP co nieco mi wyświetla na monitorze. Skacze to wszystko, bo to zapewne NTSC i dlatego mój monitor nie łapie synchronizacji. Widzę właściwie tylko kursor który ma 10 linii, a jak właduję autorun.sys to się zmienia na 12 linii.

Post's attachments

DSCN0004.gif 110.66 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

9 Ostatnio edytowany przez Krótki (2012-01-10 18:58:23)

Bardzo dziękuję za fotkę. Ja akurat spodziewałem się że zmieni się cały ekran, ale nie wydało mi się to istotne. Zdjęcie będzie bardzo pomocne. W ilu CHR$ się pomyliłęś? Mam wrażenie że nie w jednym, ale nie mam pewności.

Z tym nie łapaniem synchronizacji to rzeczywiście jest tak jak napisałeś. Jestem w trakcie deasemblacji ROM-u XEP-a, z tego co już mam wynika że rzeczywiście startuje w trybie "10 linii/wiersz" i dopiero później się przełącza.

Przełączanie PAL/NTSC już jest dodane w emulatorze.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

10

Chyba pomyliłem się tylko w prawym górnym rogu tego stworka.
Po tym drugim XIO znaki naprawdę dziwnie zaczęły wyglądać, może to być mylące.

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

11 Ostatnio edytowany przez Krótki (2012-01-22 13:45:27)

Fajnie jest - po przepisaniu blittera XEP80 tak, żeby był zgodny ze specyfikacją NS405, udaje mi się zaemulować wygląd ekranu dokładnie jak na Twoim zdjęciu. Problem w tym, że efektem zgodności ze specyfikacją jest zmiana obsługi znaków migających. Zmiana ta mi nieco śmierdzi, toteż chcę zweryfikować, że wszystko zrobiłem dobrze. Mam tu kolejny test dla Ciebie, jeśli masz jeszcze cierpliwość.

10 XIO 20,#1,12,218,"E:"
20 ? CHR$(27);CHR$(255-16);:XIO 20,#1,12,244,"E:"
30 ? CHR$(27);CHR$(255-16-4);:XIO 20,#1,12,245,"E:"
40 ? CHR$(125):POSITION 36,12
50 ? CHR$(216);"S  X";CHR$(30);
60 GOTO 60

Programik wyświetla dwie litery "X" w podwójnej szerokości - lewą w inwersie, prawą normalną. Lewa połówka X-a w inwersie ma włączone miganie, natomiast na lewej połówce X-a normalnego umieszczony został migający kursor. W emulatorze obecnie wygląda to jak na obrazku - lewe połówki obu X-ów migają w tym samym tempie.

Będę wdzięczny jak zweryfikujesz, czy u Ciebie wygląda to w 100% tak samo. Powiedz jeśli są jakiekolwiek różnice, w szczególności:
- czy prędkość migania w obu X-ach jest taka sama? Specyfikacja NS405 jest niejasna, podejrzewam że kursor (tj. prawy X) może migać 2x szybciej niż atrybut "blink", ok. 2x/sek.
- czy w lewym X-ie miga tylko połówka znaku, czy cały? Czy miga sam znak X (czarne piksele) czy tło (białe)?

To już będzie koniec mojej pracy przy XEP-ie. W ROM-ie XEP80 pozostawiono możliwość sterowania wprost rejestrami NS405, co pozwala m.in. na zmianę prędkości transmisji do max. 19200 bps, czy też dowolną zmianę geometrii ekranu (ilość wierszy, ilość kolumn, szerokość/wysokość znaku). Nie ma sensu żebym próbował to emulować póki sam nie mam XEP80.

Zdeasemblowany ROM też załączam.

Post's attachments

Atari XEP80 (U2) disassembly.txt 87.83 kb, liczba pobrań: 12 (od 2012-01-22) 

TEST2.BAS 319 b, liczba pobrań: 2 (od 2012-01-22) 

xep80-test2.png 2.58 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
A8CAS - narzędzie do 100% archiwizacji kaset Atari

12

Cierpliwość jeszcze mam. Niestety moje Atari już chyba nie. Nie chce mi się zbootować z dyskietki zawierającej sterownik XEP80. Innymi słowy nie jestem w stanie go teraz uruchomić. Chyba dyskietka padła. Sorki, ale nie mając również działającego SIO2PC nie jestem teraz w stanie nic zrobić.

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1

13

Takiego obrotu spraw nie brałem pod uwagę.

*szelmowski uśmiech*
Butuje czy nie butuje, ważne żeby AUTORUN.SYS dało się załadować, choćby spod innego egzemplarza DOS-a.

A8CAS - narzędzie do 100% archiwizacji kaset Atari

14

Akurat na Autorun.sys odczyt się zacina.

Aby odpackować teksty trzeba najpierw odpackować  program do ich odpackowywania - Energy #1