2,526

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Już kiedyś proponowałem (na grupach dyskusyjnych bodajże, a na pewno prywatnie pewnemu "królowi") zrobienie interfejsu IDE z transmisją bez udziału procesora Atari do momentu jej zakończenia.

Tzn. proponowałeś mi, żebym ja zrobił. Świat jest ci za to nieskończenie wdzięczny, bez twojej pomocy po prostu nikt nie wpadłby na pomysł, że to w ogóle możliwe. Bardzo nowatorskie to było, szkoda tylko, że zastanawialiśmy się nad tym z Jackiem Żukiem jeszcze na etapie projektowania KMK/JŻ IDE (czternaście lat temu), i ta koncepcja miała ręce i nogi, w przeciwieństwie do twoich bajdurzeń wypranych z elementarnej wiedzy na temat tego, jak działa w Atari hardware, system operacyjny i jak podpiąć twardy dysk.

@Pecuś & nosty: on nic nie napisze, bo, na co już zwrócił uwagę xxl:

Jeśli coś wyjdzie z "ParAOS" (roboczo od Parallel Atari OS) to i będziecie mieć presję żeby kogoś poświęcić do realizacji.

"KOGOŚ POŚWIĘCIĆ DO REALIZACJI". Kolega Archie szuka jelenia (kodera), który będzie próbował przekładać jego pomysły na kod, i nie zamierza sam niczego zakodować, z tego prostego powodu, że nie umie (co widać nieomal z każdego jego zdania ;) ) A jak program nie będzie działał, to oczywiście koder będzie winien, bo nie umie wcielić w życie idei geniusza. Jak z komuną, pryncypia były święte, niepodważalne i bez skazy, tylko realizacja nieustannie szwankowała (nie wiedzieć czemu).

Ale co ja się w ogóle odzywam, przecież wszyscy wiedzą, że nie mam "informatycznego wykształcenia" (tylko humanistyczne), nie wiem, co to jest interrupt driven I/O itp., i w ogóle nie jestem godzien uczestniczenia w tej dyskusji. :)

2,527

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

Zenon, nie płosz clowna, normalnie na forum lekka stagnacja panuje, dawno nie było tak wesoło.

2,528

(108 odpowiedzi, napisanych Programowanie - 8 bit)

ArchieIl napisał/a:

Wiesz... dla was guru to np. Drac030 ale on mi już wielokrotnie udowodnił, że nie rozumie nomenklatury jaka powstała przez te X lat od momentu gdy Atari 8bit przestało być produkowane.

Tak było kiedyś z DMA/bus masteringiem.

No b. ciekawe. Może mi przytoczysz moją wypowiedź, z ktorej wynika, że nie wiem, co to jest DMA albo bus mastering. Pośmiejemy się razem.

Tak jest teraz z WE/WY sterowanym przerwaniami, a nie z użyciem polling.

Jak to ci już naświetlił Pecuś, to nie jest tak, że ja nie wiem, co to jest we/wy na przerwaniach, ale tak, że ty nie masz pojęcia o tym, jak działa SIO w Atari, oraz do czego jest linia Interrupt na złączu SIO.

Znalazłem to: http://tajemnice.atari8.info/ksiazki/pw ? egowa.html i z tego wynika, że oryginalne procedury I/O używały polling.

Więc źle zrozumiałeś tekst. I, notabene, zauważ, łaskawco, iż różnica pomiędzy tobą a sporą częścią dyskutantów tutaj polega na tym, że oni po prostu wiedzą (z teorii i praktyki) to, co ty dopiero musisz przeczytać z mozolnie wyszukiwanych w sieci tekstów, które na dodatek raz za razem opacznie rozumiesz, bo nie masz podstaw:

Dodatkowo znalazłem informacje, że w ROM istniały procedury SERIN, SEROUT czy jakoś tak, które miały obsługiwać przerwania od urządzeń ale nie znalazłem dokładniejszych informacji o tym jakie urządzenia z tego korzystały.

(ROTFL)

Nie zastanawia cię ten fenomen?

Stawiam jednak, że dla Drac030 WE/WY po przerwaniach to polling z opóźnieniami odczytu portów sterowanym przerwaniami zegarowymi.

Przegrałeś.

Przynajmniej z procedur SIO jakie znalazłem wynika, że timeouty i opóźnienia są z użyciem przerwań timerów POKEY ustalane ale to nie jest WE/WY sterowane przerwaniami.

No co ty powiesz :) Gdyby nie ty, nikt tutaj by na to nie wpadł. A tak btw. w którym miejscu jest napisane, że SIO generuje "timeouty i opoźnienia" przy użyciu timerów Pokeya?

To co znalazłem potwierdziło jednak, że powinno udać się asynchroniczne WE/WY zrobić nawet jeśli mam rację, że "normalne" urządzenia w Atari korzystają wyłącznie z polling.

LOL, "powinno się udać asynchroniczne WE/WY zrobić". I ty mi zarzucasz, że terminologii nie rozumiem.

2,529

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

A dyskietka jest w jakiej gęstości?

2,530

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Myślisz, że nie wiem, że teoretycznie można to zrobić i dla pełnego? ;-)
Ja mówię jak zostało zrobione i jak dla mojego projektu jest prościej i lepiej zrobić.

Twój główny problem chyba polega na nieuważnym czytaniu.[1]

JMP pominę bo mówiąc szczerze nie zrozumiałem wyjaśnienia.

Zadam dodatkowe pytanie pomocnicze: czy student widział kiedykolwiek SpartaDOS X w działaniu, albo nawet może miał możliwość interakcji z tym DOS-em przez minimum pół godziny?

Wiem, że po SIO transfery idą bez przerwań z pollingiem standardowo

Twój drugi problem polega na tym, że używasz wyrazu "wiem" w sensie "nie mam o tym pojęcia, ale wydaje mi się".

[1] Odnoszę się w ten sposób do wyrażenia "teoretycznie można" oraz "ja mówię, jak to zostało zrobione", które świadczą, że nie doczytałeś hasła "ACX" nawet do trzeciego zdania.

2,531

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

"Error: No DOS" znaczy to, co jest napisane: na dyskietce nie ma DOS-u. Natomiast $8C = 140, http://atariki.krap.pl/index.php/Kody_błędów_Atari_OS

2,532

(108 odpowiedzi, napisanych Programowanie - 8 bit)

ArchieIl napisał/a:

Przeczytałem uważniej ale zarządzanie na zasadzie przydziału pełnych 16K potraktowałem jako brak zarządzania.

A to duży błąd. Jeśli mechanizm pozwala na uniknięcie przydziału tego samego banku dwóm programom, oraz pozwala na uzyskane informacji, które banki są aktualnie wolne, a które nie, to jest to już o niebo więcej niż "brak".

Tylko, że to trochę nie ten poziom zarządzania pamięcią.

A jaki poziom byś chciał?

Może się mylę ale nie pamiętam np. przełączania banków przez SDX-a w zależności od potrzeb programu.

To zbędna komplikacja. Program najlepiej sam sobie będzie przełączał banki w zależności od własnych potrzeb, natomiast system wystarczy, jeśli się w tym nie pogubi i nie pokaszani układu banków ustawionego przez program.

Co to jest "połowiczna relokacja" i jak ona polepsza kompatybilność?

Jest o tym w przykładach.
Połowiczna zmienia tylko bardziej znaczący bajt i pozwala na rzeczy typu:

  LDA #<MEM
  ....
  LDA #>MEM

Aha. To pod hasłem "kompatybilność" masz na myśli możliwość użycia takiej konstrukcji w źródle. Jednak żeby to uzyskać, niekoniecznie trzeba relokować z dokładnością do strony (aczkolwiek tak jest najłatwiej): http://atariki.krap.pl/index.php/ACX

Jeśli dobrze zrozumiałem biblioteka jest linkowana z programem i JMP relokowane względem miejsca dołączenia czyli albo wewnątrz biblioteki można JMP używać albo do adresów ogólnie znanych. Nie można zrobić JMP do innej biblioteki, programu itp.
Mogę się tutaj mylić bo bazuję na zgrubnym opisie z PDF-a, a nie źródłach.

Mylisz się, bo, jak nadmieniłem nieuważnie przeczytałeś manual. Gdybyś go przeczytał uważnie, to byś zauważył, że na str. 12 jest napisane "System dla własnych potrzeb zajmuje pamięć jak nastepuje: ... 3) biblioteka systemowa w module ROM".

2,533

(108 odpowiedzi, napisanych Programowanie - 8 bit)

Co do optymalizacji na poziomie asemblera, to zwykły dwuprzebiegowy asembler będzie umiał optymalizowac backward references, np. skoki, bez większego trudu. Robi to np. asembler Hisoftu na ST zatytułowany GenST (oczywiście tylko na wyraźne życzenie programisty). Robi to też mój (dotąd nieopublikowany) asemblerek dla 65C816 (też na życzenie). Dla 6502 może byłoby np. optymalizować w ten sposób pseudorozkazy w rodzaju JEQ, tzn. jeśli zasięg skoku na to pozwala, podmieniać to na BEQ. O ile się nie mylę, dla takiej optymalizacji skoków w przód trzeba zrobić co najmniej trzeci przebieg.

ArchieIl napisał/a:

* SpartaDOS nie posiada komunikacji międzyprocesowej

Nie dziwne, bo to jest system JEDNOZADANIOWY, nie ma w nim w ogóle niczego takiego, jak "procesy", więc i komunikacji międzyprocesowej również nie ma, gdyż nie ma się komunikowac co z czym.

Jeśli zaś chodzi o proste "pipki" typu DIR | MORE z poziomu command.com, to owszem, są w planach, aczkolwiek pewnie jeszcze nie w wersji 4.42.

* brak jest zarządzania pamięcią nie licząc podstawowej relokacji programów i tego co jest od zawsze w ROM/MEMLO/MEMHI

Rozdział "Gospodarka pamięcią" przeczytałeś nieuważnie lub bez zrozumienia - bo i od kiedy to "od zawsze w ROM" są mechanizmy przydziału pamięci rozszerzenia?

* relokacja jest pełna/2bajty, a według mnie w zupełności wystarczy połowiczna, a co za tym idzie łatwiej, prościej, kompatybilniej.

Co to jest "połowiczna relokacja" i jak ona polepsza kompatybilność?

* rzeczywiście biblioteki są dynamicznie ładowane

Nie są, tylko teoretycznie mogą być. Co do "ograniczeń w użyciu JMP", doprawdy, chciałbym wiedzieć, w którym miejscu tego manuala jest napisane coś, co sugeruje, że biblioteka SDX nie może się posługiwać akurat tym rozkazem, i dlaczego...

2,534

(14 odpowiedzi, napisanych Bałagan)

macgyver napisał/a:

polecam najśmieszniejszy dowcip świata ;)

"Masz wyłączoną obsługę języka JavaScript lub używasz starej wersji odtwarzacza Flash Player firmy Adobe. Pobierz najnowszy odtwarzacz Flash Player."

Istotnie, boki zrywać ... :P

2,535

(7 odpowiedzi, napisanych Zloty)

Lizard napisał/a:

proponuję spotkać się w Hetmańskiej na Wilanowie

O  ile dobrze kojarzę lokal, to tam jest drogo :P

2,536

(8 odpowiedzi, napisanych Sprzęt - 16/32bit)

Ten kabel nie powinien być podpięty do DMA raczej.

2,537

(6 odpowiedzi, napisanych Sprzęt - 16/32bit)

Adam Klobukowski napisał/a:

partycje praktycznie nieograniczone

No, nie, FAT16 to 2 GB i ani centa więcej: 32768 klastrów po 64k. FalconTOS ma właśnie, oidp, możliwość, być może tylko teoretyczną, odczytu i zapisu klastrów po 64k, bo jeszcze w TT to było "tylko" 32k. Pamiętam ukierunkowany na to patch w starym (sprzed FATFS) GEMDOS-ie MiNT-a.

MiNT obsługuje za to FAT32 (MagiC podobno również), i tu jest "praktycznie nieograniczone"  (znowu, oidp) 268435456 klastrów po, zapewne, 64k, czyli 16384 gigabajty.

2,538

(709 odpowiedzi, napisanych Fabryka - 8bit)

mono napisał/a:

Ale takie rozwiązanie nie podobałoby mi się ze wzgledu na dwie wtyczki (tak zresztą było właśnie we wspomnianym turbo - uważałem to zawsze za super pokrętne rozwiązanie).

Obiektywnie wtyczek mogłoby być nawet pięć, rzecz w tym, że te dwie blokowałyby ważne "życiowo" porty, tj. jednocześnie SIO i joya/joye.

BTW. Czy dostałeś maila ode mnie w związku z sio2bsd (sory za pytanie na forum publicznym, ale nie mam innego kontaktu...)?

Tak, sorry za brak odpowiedzi, ale na razie nie miałem czasu się tym zająć. W domu mam jakąś poprawioną wersję sio2bsd, spróbuję zmerdżować twoją wersję z moją, ale do (testów) tego potrzebny mi jest sprawny setup Atari, którego mi chwilowo brakuje ze względu na awarię kompa. :(

@darkdk: rozumiem, że ruch myszą nie wywołuje żadnego przerwania i trzeba do czytać w kółko np. na VBL-u?

2,539

(709 odpowiedzi, napisanych Fabryka - 8bit)

Przerwania są niezbędne jeśli (wrócę do tematu "systemu okienkowego") kursor myszy ma się ruszać po ekranie w momencie, kiedy kontrola jest oddana aplikacji, a nie application managerowi.

Jak mysz i tak ma być obsługiwana oddzielnym mikroprocesorem, to chyba nic nie stoi na przeszkodzie, żeby można było wybrać, jakiego typu współrzędne się chce od niej otrzymywać. Oraz jaka ma być rozdzielczość. Nic też nie stoi na przeszkodzie, żeby ewentualną akceleracją zajmował się tenże układ - acz wątpię, czy akcelerator przy rozdzielczości ekranu rzędu 320x192 będzie równie niezbędny, jak bywa na innych komputerach przy 1024x768...

@nosty: nikt nie twierdzi, że obsługe myszy trzeba wbudować do VBXE. Tak się przypadkiem offtop zrobił i może lepiej byłoby, gdyby kierownictwo przeniosło go (ten offtop) do nowego wątku.

@mono: na PORTA i PORTB są dostepne przerwania IRQ, ale nie oznacza to, że generują je porty joya. Linie tych przerwań wyprowadzone są na gniazdo SIO.

2,540

(709 odpowiedzi, napisanych Fabryka - 8bit)

Jak PBI, to rejestry mogą być na D1xx, linia IRQ jest tam też wyprowadzona, OS to sam obsługuje, więc tylko trzeba byłoby napisać odp. handlerek do ROM-u urządzenia.

2,541

(709 odpowiedzi, napisanych Fabryka - 8bit)

MrKaczorsky napisał/a:

Przy takiej grafie, to może jakiś system okienkowy może powstać (TOS XL, Windows XL czy no niewiem).
Prędzej Sparta Windows X  :-).

Myśli się o tym. Ale niech ktoś skonstruuje rozsądny interfejs do myszki - najlepiej jakby sam wszystko robił i podawał tylko komputerowi np. deltę względem ostatniej pozycji i przy tej okazji wywoływał IRQ.

2,542

(24 odpowiedzi, napisanych Programowanie - 8 bit)

Proponuję ustawić rejestry kolorów może?

2,543

(2 odpowiedzi, napisanych Bałagan)

http://wulffmorgenthaler.com/default.as ... da0ba8d364

2,544

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

korinsj napisał/a:

niewielki jednopłytkowy komputerek, z mocnym prockiem.

Na którym można zapuścić słaby emulator. Trochę kiepsko, jak na taką cenę. Nie lepiej popracować nad core 65C816?

2,545

(59 odpowiedzi, napisanych Scena - 8bit)

dely napisał/a:

ludzie na party głosują emocjonalnie, a nie fachowo

Co też nie jest sprzeczne z regulaminem. Głosują emocjonalnie - i co im zrobisz? Jakoś nie widzę, do czego ta dyskusja miałaby doprowadzić, tzn. do jakiej konkluzji.

Oprócz tego może, co już napisałem wyżej, tzn. wniosek, że autorzy powinni zwracać większą uwagę na to, żeby wystawiona praca była jakości wystarczającej na to, żeby się nie wstydzić w razie wygranej... Ale to też jest nie do wymuszenia na kimkolwiek, a poza tym istnieje chyba generalne założenie, że tak właśnie robią. Czyli co?

2,546

(46 odpowiedzi, napisanych Fabryka - 8bit)

Zgadza się, interfejs użytkownika w Atari800 jest niewygodny i przede wszystkim brakuje mu jednego: zdolności do zapamiętania ustawień.

2,547

(59 odpowiedzi, napisanych Scena - 8bit)

xray z grzybsonem mają rację, popieram. Wygrana JzB nie była sprzeczna z regulaminem: praca została przyjęta, dostała najwięcej głosów, to wygrała, i to jest koniec tematu.

Może tylko autorzy prac zgłaszanych na demo kompo, żeby w przyszłości uniknąć takich wątpliwych sytuacji, sami zadbali o odpowiednią jakość produkcji, tak w ramach autokrytycyzmu.

2,548

(74 odpowiedzi, napisanych Fabryka - 8bit)

jellonek napisał/a:

drac030: to zamow hurtem, a sam wezme od ciebie 2 sztuki po 40zl (procz ukladu jakas plytka i drobnica...)

Ja nie mogę. Ale to nie znaczy, że nie znam kogoś, kto może.

mozna to zaimplementowac w innym trybie, ale co stoi na przeszkodzie by zrobic to tak, aby sie dalo na fchui tanszym sprzecie miec chocby namiastke, potrzebna wylacznie do gierek?

Po to, żeby w pełni wykorzystywać możliwości bardziej zaawansowanej dopałki, zamiast w sofcie pisanym na VBXE *pdolić* się z cyklowaniem, celem uzyskania żałosnego efektu, który jednak "jest kompatybilny z większą ilością atarek" (czyli VBXE + ikplus).

tu masz tani konkretny przyklad do raptem kilku gier

Po co nam to całe zamieszanie dla "raptem kilku gier"?

co do mnogosci prac na kompo - spodziewasz sie ze przejdzie gdzies cos innego niz antic? btw. obecnie masz 3 propozycje rozszerzen - gdzie ten bazylion?

Trzy to jest właśnie bazylion. Spójrz na to od strony kodu: wykrycie dopałki, plus PO CZTERY wersje tej samej procedury (1. standard, 2. psychol, 3. ikplus, 4. VBXE). Przy czym, jeśli ktoś będzie chciał uniknąć tego całego bajzlu, napisze dwie wersje: 1. standard, 2. ikplus (bo to chodzi też na VBXE). W EFEKCIE będziesz miał na VBXE, które bije na głowę STE i Amigę razem wzięte, soft jak na popsutym Spectrumie :P

2,549

(74 odpowiedzi, napisanych Fabryka - 8bit)

jellonek napisał/a:

ciezko zrozumiec co napisalem? dodanie tego trybu do vbxe to pikus...
to ze wy zamowiliscie ten sprzet nie oznacza ze stanie sie on popularny i zmuszanie innych na sile do "jedynegoslusznegorozwiazania" to czyste przegiecie.

Przegięciem jest także przypisywanie innym spiskowych motywacji. VBXE, powtórzę, jest moze drogie, ale uniwersalne. Odkąd electron zaczął pracować nad VBXE, nagle co raz ktoś wyskakuje z rozszerzeniem do GTIA. Psychol tylko patrzeć, jak się obudzi. Efektem tego będzie właśnie bazylion rozszerzeń, każdy koder będzie miał inne, a gry i tak będą powstawać pod wspólny mianownik, czyli Atari bez dopałek. I już widzę gfx albo intro compo: 1k intro standard, 1k intro ikplus, 1k intro VBXE... po co komu takie zamieszanie? Mamy jedną dopałkę gotową i do tego świetną, po co komu namiastka?

drac030: dlaczego zamiast? skoro vbxe moze byc pierwsza dzialajaca realizacja tego trybu? co ci szkodzi cos wiecej, co moze sie przydac innym? tu nie tyle jest cos "zamiast" ile "rownolegle obok".

Ale nie rozumiem, po jaką cholerę to ma być w VBXE implementowane? Czy któryś z zaprezentowanych przykładów takiego trybu graficznego jest nie do zrealizowania (i to łatwiej) na VBXE _bez_ tego rozszerzenia? A odwrotnie, czy którykolwiek z trybów pracy VBXE (bazylion duszków w pierdylionie kolorów np.) jest do zrealizowania na tej dopałce _bez_ VBXE?

Co do ceny: VBXE jest drogie może dlatego, że electron sprowadza układy FPGA w detalu. W hurcie to one pewnie kosztują dużo mniej, pokazywano mi ostatnio jakiś ekwiwalent za 20 złotych...

2,550

(74 odpowiedzi, napisanych Fabryka - 8bit)

Popieram zdanie dely'ego. Acz z trochę innych względów: dopałka ikplusa, jak rozumiem jej ideę, może się przydać w zasadzie tylko do gier, czyli mi osobiście do niczego. VBXE jest bardziej uniwersalne i to jest następny powód, dla którego bym je popierał zamiast.