1,651

(44 odpowiedzi, napisanych Sprzęt - 8bit)

Ma, tylko trzeba trafić :P

1,652

(61 odpowiedzi, napisanych Fabryka - 8bit)

Całkiem fajny pomysł, ale chyba na zupełnie nowy projekt. Powiem może jaki jest pomysł na mój wygaszacz i czemu powstał.
Pierwowzorem jest plemnik JBWa pod DOS-a (pecetowego). Widziałem go w redakcji Tajemnica Atari i tak mi się spodobał, że pomyślałem że może da się coś podobnego zrobić na Atari.
Wygaszacz ekranu na Atari (nie widziałem czegoś takiego w systemach na inne platformy 8-bit) ma za zadanie doprowadzać do równomiernego wypalania luminoforu telewizora w przypadku kiedy na dłużej nie dotykamy komputera i na monitorze znajduje się ciągle ten sam obraz (widziałem kiedyś zezłomowany monitor jakiegoś pecetowego terminala, na którym widniał pięknie wypalony prompt :]). Dlatego w systemie została przewidziana procedura, która po upływie ok 11 minut (256*128 ramek) odwraca cyklicznie kolory. Odbywa się to na przerwaniu VBLKI. Zaletą takiego podejścia do rzeczy jest to, że system nie zajmuje czasu procesora jakimiś czasochłonnymi działaniami dzięki czemu program użytkownika, który się w międzyczasie wykonuje, ma dla siebie praktycznie całą moc CPU.
Plemnik powstał z inspiracji i ze znurzenia systemowym trybem przyciągania uwagi. Stwierdziłem też że fajnie by było, gdyby nie trzeba było na niego czekać 11 minut, ale powiedzmy 3 (i taki właśnie był czas jego aktywacji w opublikowanej w TA wersji - taki czas zresztą jest nadal ustawiony domyślnie, choć w wersji dla SDX doszła parametryzacja). Miał za zadanie malować coś ciekawszego na ekranie nie obciążając zbytnio procesora tak, żeby program działający na komputerze nadal miał maksimum mocy obliczeniowej. Udało się to zrealizować w ten sposób, że cała procedura wygaszacza działa na dwóch przerwaniach: VBLKI mierzy jak dotąd czas bezczynności i ustawia krótszy czas oczekiwania przy opuszczeniu trybu, a na VBLKD realizowana jest procedura włączenia własnego ekranu ANTICa i skonfigurowanie GTIA tak, żeby pokazywał obraz z plemnikiem. Rysowany jest oczywiście tylko obraz składający się z 5 wierszy ekranu - reszta to puste linie dzięki czemu ANTIC przez większość czasu rysowania ekranu nie blokuje CPU. Ustawiane są wyłącznie rejestry sprzętowe dzięki czemu działanie plemnika jest niezauważalne dla pozostałych elementów systemu.
Twoje idea wygaszacza polegająca na uruchomieniu programu, który zajmie całkowicie procesor (mamy system jednozadaniowy) nasuwa mi na myśl program również autorstwa JBW, mianowicie XL Friend (popularnie zwany XLF a wchodzący w skład pakietu Quick Assemblera). XLF czekał na wciśnięcie klawisza SHIFT+CONTROL+1/2/3/4, zamrażał stan systemu i uruchamiał program przypisany do odpowiedniej kombinacji klawiszy - edytor, mapę znaków, kalkulator lub wglądownicę. Po skorzystaniu z programu stan systemu był odtwarzany i procesor wracał do wykonywania programu użytkownika. O ile XLF był bardzo przydatny i używałem go z DOS 2.5 i QA na porządku dziennym, o tyle wygaszacz ekranu zrealizowany w ten sposób (aktywowałby się oczywiście automatycznie po upływie wymaganego czasu bezczynności) zabierałby czas programowi użytkownika nie robiąc jednak nic konstruktywnego. No chyba, że zamierzasz wspomóc projekt SETI :) albo innego raka.
Nie zniechęcam jednak i gdybyś chciał coś takiego sam napisać służę pomocą.

1,653

(61 odpowiedzi, napisanych Fabryka - 8bit)

@Yansen: A co taki loader miałby robić?:
- Instalować wygaszacz w systemie (różne rodzaje pamięci)? Robi to sama SDX.
- Podpinać go na VBLK(I/D), DLI, IRQ? To zależy od samego wygaszacza.
Mógłby uaktywniać i dezaktywować wygaszacz, ale to jest raptem kilka linijek kodu...

1,654

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Też tak myślę.

Edit: Tym bardziej, że programowanie 816 to jak programowanie 6502C z nielegalami - nowy zestaw instrukcji i nowe możliwości do wykorzystania :]

1,655

(61 odpowiedzi, napisanych Fabryka - 8bit)

Byłoby. Obecnie 286 bajtów zajmuje dlist i ekran. Kod w pamięci bazowej to 98 bajtów, w pamięci dodatkowej 313. DLPTR ma rejestr cień, GTIACTL i DMACTL też.
Gdyby wykorzystać sprajty pojawia się problem odtwarzania wartości rejestrów GTIA bo nie mają cieni w systemie dzięki czemu może to kolidować z innymi programami (wygaszacz działa przecież niejako "w tle"). Poza tym wygaszacz ma wygaszać obraz :) a nie malować niewiadomoco :] Obszar sprajtów w najmniejszej konfiguracji to $280 bajtów, które powinny być w podstawowym RAMie (ext nie da się użyć bo RAMBO nie pozwala na oddzielne adresowanie ANTICa i CPU, poza tym nie można zagwarantować, że na całym ekranie będzie włączony odpowiedni bank pamięci). Można zapisywać GRAFPx/M ręcznie, ale trzeba synchronizować się z rastrem co zabierze czas CPU. Jeśli użyjesz DLI, to trzeba analizować displaylistę i ją odpowiednio modyfikować. Same problemy.
Można zrobić wygaszacz dla VBXE - wtedy praktycznie cały kod może być ulokowany w pamięci VBXE (nie mówiąc o grafice).

1,656

(61 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 1.09 (.zip, .atr, .arc, .atr.bz2).
Dodałem obsługę sterowników _RAWCON (S_VBXE.SYS, RC_GR8.SYS) więc poprawnie działa już z VBXE.

1,657

(44 odpowiedzi, napisanych Sprzęt - 8bit)

Niedobry monitor, brzydki, tfu, tfu.

1,658

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

lemiel napisał/a:

Ale to załaduje tylko jeden bajt, czy następne, w np. 130 XE też?

Podejrzewam, że dodatkową pamięć musisz sobie obsłużyć samodzielnie, aloader po prostu zawinie się wokół 64K i dalsze bajty będzie ładował od początku pamięci (ZPG).

1,659

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Co kto lubi. O ile długość ma znaczenie :P

1,660

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

MyDłOS - czysta przyjemność.

1,661

(9 odpowiedzi, napisanych Software, Gry - 8bit)

Ten CMC by Datri jest tu: http://atari.daves.cz/Stereo_CMC_demo

1,662

(142 odpowiedzi, napisanych Programowanie - 8 bit)

@seban: FLD znam :) ładny efekt chyba jeszcze z '90. Ciekawi mnie tylko czy mogą sobie tak dowolnie, jak my zmieniać co linię skanningową/tekstową adres pamięci ekranu (co do bajta, bo to pomocne przy skrolu poziomym). Bo zdaje się pamięć ekranu leży sztywno w konkretnym wybranym banku RAM.
@grzybson: kiedy włączasz skrol poziomy w dlist, wtedy linia ma rozmiar 48 bajtów lub 24 bajty (tryby tekstowe podwójnej szerokości) choć na ekranie wyświetlana jest tylko część określana szerokością ekranu, adresem w lms i hscrollem.

1,663

(142 odpowiedzi, napisanych Programowanie - 8 bit)

Na C64 nie mają wyjścia - ekran zwęża się z 40 do 38 znaków, a my mamy displaylist i obszar 4kB.

1,664

(19 odpowiedzi, napisanych Fabryka - 8bit)

Tokenami mogą być skoki do procedur a tokeny można umieszczać na stosie.

1,665

(19 odpowiedzi, napisanych Fabryka - 8bit)

Ten akurat może mieć część programu w RAMie.

1,666

(25 odpowiedzi, napisanych Bałagan)

I bąbelków do szampana :P

1,667

(25 odpowiedzi, napisanych Bałagan)

innuendo napisał/a:

Może i ja coś w podobie walnąć powinnam? :P

Wyobrażam sobie:
"Znam swoją wartość i nie dam się omamić byle komu. Musisz:
- mieć wszystkie konsole jakie wyszły na świecie od 1960,
- nabijać minimum milion punktów w MarioBros,
- słuchać i lubić chiptuny ze wszystkich układów Yamahy jakie kiedykolwiek wyszły,
- pikselować grafikę na poziomie najwyżej punktowanych prac na atarowskich party,
- umieć jeździć na parties po całym świecie i nie opuścić żadnego aż po grób."
Wysokie wymagania Innu ;P

Edit: "Zamierzam się pokazywać z Tobą na najlepszych komputerowych parties, więc nie możesz być zwykłym lamerem".

1,668

(6,376 odpowiedzi, napisanych Kolekcjonowanie)

Eeee wzornictwo komputerów Atari do dzisiaj się broni. Nie widzę powodu na zmienianie takiego pięknego Falcona w peceta. Jakimś kompromisem byłaby obudowa osobnej paczki i klawiatury zachowującej piękny Atarowski wygląd :)

1,669

(25 odpowiedzi, napisanych Bałagan)

"Znam swoją wartość" :D Kobiety są zdecydowanie traktowane przez mężczyzn zbyt bezprzedmiotowo.

1,670

(6 odpowiedzi, napisanych Fabryka - 8bit)

Póki co nikt nie ma SoundBoarda, ale niektórzy mają VBXE i na tym można odpalić rdzeń - jest w paczce na http://spiflash.org/block/15.html (cores/current/v1sndbrd.xbf i cores/current/v2sndbrd.xbf).
Konnektor z wyjścia VBXE należy podłączać:
- R = Left Audio Out
- B = Right Audio Out
- GND = GND
W VBXE1 należy dolutować szeregowo oporniki 75..120 Ohm do każdego wyjścia RGB.

1,671

(23 odpowiedzi, napisanych Fabryka - 8bit)

Poszła pmka.

1,672

(31 odpowiedzi, napisanych Fabryka - 8bit)

@nosty: Być może chodzi o to: http://atariki.krap.pl/index.php?title=6502. Analizą jak to naprawić zajmowaliśmy się tu: http://www.atari.org.pl/forum/viewtopic.php?id=7800.

1,673

(31 odpowiedzi, napisanych Fabryka - 8bit)

Mnóstwo tego! Bardzo dziękuję. Szczególnie fajne są poprawki zw z dźwiękiem (panorama)!

1,674

(341 odpowiedzi, napisanych Fabryka - 8bit)

Poprawiłem nieco NEO player.

1,675

(6 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.3 playera modułów .NEO dla SDX grającego przez Candlowego SoundBoard'a. Póki co można sobie odpalić odpowiedni rdzeń na VBXE albo posłuchać Altirrą.
Zmiany:
- często używane parametry w zmiennej środowiskowej NEOPLAYH,
- obliczanie czasu trwania utworu,
- wymuszenie maksymalnego czasu odtwarzania (/T [mmm:]ss[.dd]),
- detekcja SB pod $D700 (do tej pory sprawdzało $D600, $D500, $D2C0),
- wymuszenie adresu urządzenia (/A addr),
- panoramę podaje się przełącznikiem /P p1,p2,p3,p4 a nie jak dotychczas opcjonalnym parametrem.
Zmianie uległa też nazwa z NEOPLAY na NEOPLAYH (bo gra hardwarem, a nie syntezuje programowo).
Wszelkie bugi i żądania mile widziane.
Smacznego.