76

Tak w ogóle pierwszych prac nad rozgryzieniem tego, jak wewnętrznie działa SpartaDOS X, dokonał niejaki Prof!, czyli Mariusz Pietrasiuk.

Od punktu, w którym skończył, zacząłem ja i opracowałem to i owo w postaci kilku plików teksotwych z opisem tego, co mi i Profowi udało się wykumać. Lizard też tu przyłożył sporo swojej pracy.

Pliki te swego czasu dostał ode mnie MMMG i doprowadził rzecz do szczęśliwego końca - odwalając też większość czarnej roboty, trzeba zaznaczyć.

Nie byłem pewien, czy MMMG upublicznił kod biblioteki, czy tylko sam komentarz, dlatego o źrodłach biblioteki napisałem z pewną niesmiałością taką  ;)

Jak już wiemy, co mamy, to można byłoby rzecz sprowadzić do postaci kompilowalnej.

KMK
? HEX$(6670358)

77

Zbadałem sprawę systemu plików na kartridżu i okazuje się, że jest on zapchany prawie do pełna :( Tzn. obecne pliki zajmują prawie całe dostępne miejsce. Zostały skrawki po kilkadziesiąt kb w każdym banku (razem jakieś 400b). Żeby było miejsce na coś nowego trzeba wywalić mało używane programy i uznać je jako ładowane z dysku.
Proponuję na początek wywalić:
1. RPM.COM - ktoś tego używa w dobie hardysków ?
2. XEP80.SYS - i tak nie działa w PALu, a w ogóle trzeba napisać lepszą wersję (drobna łatka do PALa u mnie)
3. UNERASE.COM - rzadko używany i zdaje się z burakiem, no i zawsze można sobie zrobić dyskietkę ratunkową ;)

Jak już będzie miejsce to z nowych rzeczy powinny się znaleźć wg mnie:
1. QuickEd
2. ARC.SYS do Pasiowego zegara :D
3. RUN jeśli się nie uda dodać do kodu command.coma
Wszystkie przygotowane do zajmowania minimalnej objętości.

Jak ktoś ma propozycje co można wywalić (i co dodać, ale bez przesady) niech pisze.

78

Pliki te swego czasu dostał ode mnie MMMG i doprowadził rzecz do szczęśliwego końca - odwalając też większość czarnej roboty, trzeba zaznaczyć.

a daloby sie powyzsze dane dorzucic do atariki? bo szczerze mowiac, ja poszukiwalem ich w inwernetu czelusciach i nie znalazlem. a wydaja sie byc pozyteczne... :)

[ Dodano: 07.01.2005 01:12:59 ]

2. XEP80.SYS - i tak nie działa w PALu, a w ogóle trzeba napisać lepszą wersję (drobna łatka do PALa u mnie)

to moze od razu twoja poprawiona wersje?

Jak ktoś ma propozycje co można wywalić (i co dodać, ale bez przesady) niech pisze.

pacz na LOAD, zeby dalo sie zaladowac kontent binarny pod wskazana lokacje poprosze, na ksztalt LOA z DOS II+/D.

--
= krap.pl =

79

Sluchajcie, przeciez zrodla Sparty sa dostepne i do tego z polskim opisem...

Jeszcze inni, ale żeby Lizard nie wiedział? Redaktor działu Sparty w Syzygy? Wstyd!

Wiedział i wszyscy trzej główni zainteresowani mają podane źródła (nie wiem jak Trub, ale z tego co pisze, wnioskuję, że ma).

Wywalić to już raczej nic się nie da. Zastanawiałem się nad INDUS.SYS, ale zdaje się, że jest wykorzystywany. UNERASE.COM ma błąd i to toś poważny. Zamiast jego lepiej byłoby wstawić UNDELETE.COM z NN Tools. Jest bardziej funkcjonalny. Pakiet jest niestety shareware, autor pewnie o nim dawno zapomniał, ale prawa autorskie zostały. Zresztą i tak grzebanie w kodzie SDX jest naruszeniem praw autorskich. :)

Zmiany w urządzeniu CAR: proponuję przemyśleć pod innym kontem. Mianowice zostawić tylko to z czego się korzysta non-stop (COMMAND.COM, MENU.COM, etc.) i to co ma istotny wpływ na samą spartę SPARTA.SYS, SIO.SYS (te dwie rzeczy muszą być ładowane z kartridża), oraz jakieś systemy turbo do stacji, itp. Reszta powinna być usunięta lub wymieniona na bardziej funkcjonalne odpowiedniki. To co zniknie z EPROM-u, wrzucić na jakąś dyskietkę i rozprowadzać jako user kit.

FDOPEN i FDGETC owszem wywołyją Misc, ale modyfikacja tego ostaniego nie nastręcza kłopotów. Do Misc wchodzi się z nr-m funkcji w rejestrze Y. Wartość tego rejestru jest indeksem w tablicy wektorów procedur. Jedna podmiana wektora na własną procedurę (lub zmodyfikowaną) i po sprawie. Po bliższym przyjrzeniu się FDOPEN wychodzi na to, że to nic innego jak kolejno wywoływane procedury OPEN, CHKDSK, itp. Oczywiście wywoływanie to odbywa się przez JKERNEL ($0703). Tak mi przyszło teraz do głowy, że za tą nieszczęsną datą stoi jednak FGETC, bo to jest procedura, która decytuje, jaki bajt dać na wyjściu. FGETC również odwołuje się do Misc.

[ Dodano: 07.01.2005 01:18:24 ]
A tak się ma +1 do statsów na AA i Mistrza offtopicu. :mrgreen:

Zawsze mam rację, tylko nikt mnie nie słucha.

80

a daloby sie powyzsze dane dorzucic do atariki? bo szczerze mowiac, ja poszukiwalem ich w inwernetu czelusciach i nie znalazlem. a wydaja sie byc pozyteczne... :)

No pewnie... ale nie dzisiaj. Zresztą, wiele do dodania nie ma, więc to co napisałem wyżej możesz sam dodać w wolnej chwili ...

pacz na LOAD, zeby dalo sie zaladowac kontent binarny pod wskazana lokacje poprosze, na ksztalt LOA z DOS II+/D.

LOAD to jest zda się polecenie wewnętrzne command.com, czy się mylę? Ponieważ ładowanie kontentu binarnego pod arbitralny adres  ;) może nadpisać command.com, więc proponowałbym raczej usunięcie LOAD z command.com i zapodanie tego polecenia na urządzenie CAR: jako programu zewnętrznego, oczywiście z tym rozszerzeniem.

[ Dodano: 07.01.2005 02:00:31 ]

Proponuję na początek wywalić:
1. RPM.COM - ktoś tego używa w dobie hardysków ?

Zgadzam się, to jest nieporozumienie. W 4.22 jest też ECHO.COM, czy ma to jakąś przydatność?

2. XEP80.SYS - i tak nie działa w PALu, a w ogóle trzeba napisać lepszą wersję (drobna łatka do PALa u mnie)

Ja proponuję to w ogóle usunąć, to znaczy przenieść na dyskietkę z toolkitem. XEP jest mało popularny i w ogóle jest to urządzenie, które działa, jakby chciało a nie mogło. Szkoda miejsca, które można byłoby wykorzystać na coś bardziej przydatnego.

3. UNERASE.COM - rzadko używany i zdaje się z burakiem, no i zawsze można sobie zrobić dyskietkę ratunkową ;)

Można spróbować poprawić błąd, ale chyba nie ma powodu, żeby to rezydowało na karcie.

Ogólnie zgadzam się z Lizardem, lepiej jest zarezerwować CAR: na najniebędniejsze rzeczy.

A może w ogóle docelowo zrezygnować z karta i zaprodukować wersję ładowaną z dysku. To co jest na kartridżu można byłoby wepchnąć do pamięci powyżej adresu $FFFF.

KMK
? HEX$(6670358)

81

Ja sie nie znam, ale zadam pytanie: a nie mozna powiekszyc pojemnosci urzadzenia CAR:? Wiem, ze wymagaloby to zmiany budowy karta, ale jesli mialby byc to DOS ladowany z dysku to nie widze problemu (a miejsca powyzej $FFFF troszke bedzie... ;)). Istnieje jednak oddzielna kwestia: czy SDX 4.30 ma byc dla wszystkich czy tylko dla posiadaczy Warp4 (tzn. pamieci liniowej powyzej 64 KB)? Wydaje mi sie, ze jednak warto pozostac przy wersji dla wszystkich (a wiec chyba kartridz).

82

Lewis, proponowałem DOCELOWO zrezygnowac z karta  8)  4.30 będzie to SDX jak najzupełniej normalna, o ile mi wiadomo, tylko z poprawkami. Jednak mając źrodło można w przyszłości pokusić się o wyjechanie z SDX dajmy na to 5.0 ładowaną z dysku i rezydującą w pamięci liniowej.  ;) To miałem na myśli.

[ Dodano: 07.01.2005 03:44:04 ]
PS. Przeczytałem jeszcze raz swojego poprzedniego posta i faktycznie, przyznaję, tak wygląda, jakbym chciał to zrobić już teraz. Źle się wyraziłem. Moja kulpa.

KMK
? HEX$(6670358)

83

ultra mastah atarowiec. :)

sparta ladowana z dysku (w domysle, z twardysku) z pewnoscia ulatwilaby deweloperke - nie trzeba byloby palic nowego epromu za kazda zmiana, to pewne. a i miejsca byloby tyle, ze moglaby miec dwie wersje - 6502 i warp4 ready, wybierane we wczesnych fazach ladowania.

--
= krap.pl =

84

popieram.

Co do funkcji LOAD. To w każdym innym DOS'ie, niewłaściwe jej użycie jest również prowadzi do uszkodzenia np. CommandProcessora lub rezydentego dup.sys. Pozatym skoro przerabiana już jest cała SDX, to możnaby iść na kompromis i zrobić choć podobnie jak w DOS'ie 2.5 (!!!) Tak, to nie pomyłka: DOS 2.5 jeśli łąduje plik binarny i wykryje, że program chce nadpisać obszar zajmowany przez DUP.SYS lub CP.sys (ten z TA), to ustawia wektory DOSVEC w odpowiedni sposób, tak, aby wczytałą się sama spowrotem - po powrocie dos DOS'a (poprzez DOSVEC - $0A,$0B) i /lub poprzez RESET - po inicjalizacji DOS'a. Każdy koder chyba wie co dla niego onzacza komenda LOAD i wie jak bardzo jest mu w codziennej pracy użyteczna - chcąc załadować jakąś binarke bez uruchomienia (parametr /N (No Run) ) ja jestem za tym, aby przystosować tą komende w COMMAND.COM, to postaci z DOS'a II+/D Ponadto fonkcja SAVE mogłąby mieć przełącznik /A (Append) dołączająca blok na końcu pliku - jak próbowałem to zrobić, to mi niebardzo chciało wyjść, więc winoskuję że niema takiego przełącznika. mogę się jednak mylić.

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

85

Zastanawiałem się nad INDUS.SYS, ale zdaje się, że jest wykorzystywany.

Ja wam wyrzuce... Ja korzystam nagminnie z powodu "mania" LDW 2000.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

86

Może dodacie CA2001.SYS ??? Dla posiadaczy gołej CA2001 ??? Np. takich użyszkodników jak ja  :lol:

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

87

Ja wam wyrzuce... Ja korzystam nagminnie z powodu "mania" LDW 2000.

LDW róló, dlatego nie chcę wyrzucać INDUS.SYS, ale może założysz se do niej jakieś turbo?

W ogóle to szykuję programik do wrzucania i wyrzucania czego się chce do romiku (oczywiście przed wypaleniem) :D:D

88

No pewnie... ale nie dzisiaj. Zresztą, wiele do dodania nie ma, więc to co napisałem wyżej możesz sam dodać w wolnej chwili ....

dobrze, zle sie wyrazilem - nie to, co powyzej w watku zostalo napisane do atariki, tylko to, co zawiera to opracowanie MMMG, ktore kontrybuowaliscie rowniez, o ktorym wspominales powyzej. :)

ewentualnie, jezeli ktos by mnie uraczyl jakas forma tegoz (skan, plik, czy jakkolwiek to wystepuje), to moglbym w wolnych chwilach przerzucac do atariki...

a zrodelka do sparty moze przydadza sie na stronie strykera?
albo przynajmniej gdzies 'polpublicznie' dostepne do ogladania...

--
= krap.pl =

89

i miejsca byloby tyle, ze moglaby miec dwie wersje - 6502 i warp4 ready, wybierane we wczesnych fazach ladowania.

Sęk w tym że na wersję 6502 nie bardzo jest miejsce: nie wiem, czy dałoby się np. bibliotekę upchnąć w bankach pamięci, bo korzysta z niej np. SPARTA.SYS, która też siedzi w banku... byłoby trochę rzeźbienia, to pewne.

[ Dodano: 07.01.2005 17:18:54 ]

Może dodacie CA2001.SYS ??? Dla posiadaczy gołej CA2001 ??? Np. takich użyszkodników jak ja  :lol:

Przecież masz twardy dysk  8O

[ Dodano: 07.01.2005 17:21:33 ]

LDW róló, dlatego nie chcę wyrzucać INDUS.SYS, ale może założysz se do niej jakieś turbo?

Po co mu turbo, jak ma LDW i INDUS.SYS? Przecież to lata na 67000 bps.

[ Dodano: 07.01.2005 17:24:34 ]

dobrze, zle sie wyrazilem - nie to, co powyzej w watku zostalo napisane do atariki, tylko to, co zawiera to opracowanie MMMG, ktore kontrybuowaliscie rowniez, o ktorym wspominales powyzej. :)

A :D Myślałem, że chodzi co o rys historyczny. 8) Opracowania MMMG nie mam, zabrał mi je mój Maxtor ze sobą do nieba. Ale Lizard powinien mieć i to w ogóle chyba w Syzygy poszło ...

KMK
? HEX$(6670358)

90

Po co mu turbo, jak ma LDW i INDUS.SYS? Przecież to lata na 67000 bps.

No czasem sie uzywa DosDwaPlusDe  :D

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

91

Lewis, proponowałem DOCELOWO zrezygnowac z karta  4.30 będzie to SDX jak najzupełniej normalna, o ile mi wiadomo, tylko z poprawkami. Jednak mając źrodło można w przyszłości pokusić się o wyjechanie z SDX dajmy na to 5.0 ładowaną z dysku i rezydującą w pamięci liniowej.  To miałem na myśli.

Jak tak to jestem za!

Zastanawiałem się nad INDUS.SYS, ale zdaje się, że jest wykorzystywany.

Ja wam wyrzuce... Ja korzystam nagminnie z powodu "mania" LDW 2000.

A co za problem zaladowac INSUS.SYS z dysku?

92

:?  Mądry, bo ma TOMS'a !!! Załąduj se parę kilobajtów z flopa @ 19.2kbps !!!! :P

Zamontujcie w nowym SDX pliczek "CA2001.SYS" !!!

Po co mu turbo, jak ma LDW i INDUS.SYS? Przecież to lata na 67000 bps.

No czasem sie uzywa DosDwaPlusDe  :D

:?  Dely: chyba obaj musimy się udać do Strykera, celem montazu Tygryska  :lol: Tzn. Ja już zbieram kabonke na przesyłkę (czty. czekam do wypłaty)  :lol:

Może dodacie CA2001.SYS ??? Dla posiadaczy gołej CA2001 ??? Np. takich użyszkodników jak ja


Przecież masz twardy dysk   8O

:?  jakby to powiedzieć - mam nawet 4 twardyski, tylko, żę oba kontrolery odmawiają posłuszeństwa z '816 - muszę zebrać kase na przesłanie tego wszystkiego do Pasia (czyt. czekam na wypłatę) :( ... A praca @ 19.2kbps mi sie nieuśmiecha - zbytnio przyzwyczaiłem się do faktu, że transer jest powyżej 30kB/s   ;)  :lol:  jest też niby APE, lecz nikt do tej pory nierozwiązał problemu z współpracą 14c89 + APE 2.1.1 i XP :/ A 98 mi się niechce używać - bo musiać bym kompa włączyć, który z pewnych względów chodzi już 10 dni non-top  :lol:

Ps. Draco: doszły mnie słuchy, że jest HD BIOS v1.5 - skąd go wziąć (zassać) i/lub jakie są zmiany w stosunku do v1.4??? Słyszałem, że straciłeś źródła do BIOS'u i FDISK'a. ??? Prawda to?

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

93

Draco, Ty zdaje się pisałeś CA2001.SYS. Jakby różnica w stosunku do INDUS.SYS była niewielka, to może dałoby się zrobić wspólny sterownik dla obu stacji, np odpalany z parametrem?
DEVICE GTSYNC.SYS LDW [CA]

94

Ps. Draco: doszły mnie słuchy, że jest HD BIOS v1.5 - skąd go wziąć (zassać)

http://drac030.krap.pl

i/lub jakie są zmiany w stosunku do v1.4???

Powinien wystarczać reset (albo forced media change) do podłączenia i odłączenia dysku slave.

Słyszałem, że straciłeś źródła do BIOS'u i FDISK'a. ??? Prawda to?

Połowiczna. Dawno temu już straciłem źrodła do FDISK-a, źrodło BIOS-u spokojnie istnieje.

[ Dodano: 08.01.2005 16:23:46 ]

Draco, Ty zdaje się pisałeś CA2001.SYS.

To trochę za wiele powiedziane, "pisałeś". Ja po prostu wziąłem GTSYNC.COM i przerobiłem tak, żeby działał pod Spartą. Ale większość tego pliku zawiera program w asemblerze Z80, którego nie kumam.

KMK
? HEX$(6670358)

95

Lejstest nius:

1.65C816 OS 2.05 + spaczowana SDX = startujemy z dowolnego napędu razem z config.sys (START przy bootowaniu).

2. Wersja 4.30 SDX będzie bazowała na jądrze 4.22. Piszcie o programach, które nie działają na 4.22 a działają na 4.20 celem poprawienia.

3. Na urządzeniu CAR: zostają dziury, które można wypełnić krótkimi programikami (ok. 100b :D). Jakby ktoś miał pomysł na takowe, niech da znać albo sam napisze, np. używając mega r0loo madsa 1.5.6 z obsługą SDX w najnowszej wersji (i mi podeśle). Może jakieś kompo? Większe programy będą dostępne na dysku "SDX 4.30 add-ons" ;) wraz z wyrzuconymi z oryginalnej Sparty (np. RPM, XEP80, UNERASE)

96

1. 65C816 OS 2.05 + spaczowana SDX = startujemy z dowolnego napędu razem z config.sys (START przy bootowaniu).

Czy ze zwykłej stacji też ci startuje bezproblemowo? Jeśli tak, to jaką masz stację? Bo u mnie - dzisiaj zauważyłem - z TOMS-a 720 MyDOS startuje bez problemu w szybkiej transmisji, SpartaDOS 3.2 takoż, ale Sparta X configa czytać nie chce. Bardzo dziwne.

Jakby ktoś miał pomysł na takowe, niech da znać albo sam napisze, np. używając mega r0loo madsa 1.5.6 z obsługą SDX w najnowszej wersji (i mi podeśle).

A chodzi ten mega rulu mads na Atari, albo chociaż pod Unixem?

KMK
? HEX$(6670358)

97

A chodzi ten mega rulu mads na Atari, albo chociaż pod Unixem?

Mads jest w Delphi, ale kod mi wygląda, że jakimś kompilatorem Pascala bez problemu dałoby się skompilować.

Czy ze zwykłej stacji też ci startuje bezproblemowo?

Próbowałem z SIO2PC (Atari810) i jest ok. Wieczorem przetestuję jeszcze z LDW i napiszę.

98

Jest sobie procedura opisana przez Zientarę jako "SEND buffer to serial bus". Adres $EA88, strona 126 wejścia i wyjścia. Jest w niej taka sekwencja:

lda (bufr),y
sta serout
sta chksum

Tak jest w ROM-ie od 800XL, czyli BB 01.02, tym najbardziej rozpowszechnionym. Natomiast w ROM-ie od nowszych 130XE oraz w ROM-ie od 1450XLD jest tak:

lda (bufr),y
sta chksum
sta serout

Tak też jest w ROM-ie 65c816 BB 02.05, bo doszedłem do wniosku, że jeśli ja co prawda nie widzę żadnej różnicy, ale Atari widziało na tyle, żeby tę zmianę wprowadzić konsekwentnie w wersji rozwojowej systemu, to coś w tym musi być. Tak więc zamieniłem te dwie linie miejscami.

Otóż, okazuje się, że to właśnie powoduje kłopoty z odczytem config.sys przez SpartaDOS X 4.20! Jak te rozkazy są w takiej kolejności, jak w 800XL, odczyt configa udaje się prawie zawsze. Jeśli jest odwrotnie, nie udaje się prawie nigdy. Danie kolejności rozkazów takiej jak w 800XL i dodatkowo dorzucenie NOP powoduje, że SDX czyta config.sys zawsze.

Objaw "nieudawania się" jest taki, jakby przerwanie końca transmisji szeregowej nie występowało nigdy i znacznik XMTDON cały czas pozostawał wyzerowany.

To przechodzi moją zdolność pojmowania. Czy znawcy Pokeya mogliby mi to jakoś w prostych, żołnierskich słowach objaśnić?

KMK
? HEX$(6670358)

99

Nie wiem, czy to coś wyjaśni, ale u mnie problemy dotyczą tylko szybkiej transmisji i to nie zawsze. W normalnej wszystko ok, w szybkiej nie działa np. APE, ale Atari810 hula nawet 3xSIO!
I zdaje się, że nie dotyczy to tylko SDX, z MyDOSem pod APE jest tak samo.

100

a grzybowy system to 98SE/ME czy 2k/XP ? Bo APE pod XP strajkuje wrac z SIO2PC (np. opartm na 14c89). Wiec sproboj pod 98SE.

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!