676

(192 odpowiedzi, napisanych Fabryka - 8bit)

Nazwa MicroSpartaDOS to nawiązanie do (w swoim czasie) najpopularniejszego loadera do dysków w formacie Atari DOS, czyli MicroDOS. Może faktycznie mniej myląca byłaby nazwa "MicroDOS for Sparta". Ale na zachodnich forach nazwa MicroDOS przyjęła się nawet jako synonim loadera dyskowego.

No chłopaki.... kuna za szybko numerki zmieniam. Ale to już na pewno ostatnia wersja :)
Ale zanim wrzucę, to zapytam czy akceptujecie.
W wersji 4.4 nie wyświetla się NUMER napędu tylko jego LITERA (w sumie tak jak w Sparcie X), na początku chciałem zachować "dualizm" czyli klawisze 1-8 wybierają napęd i wtedy wyświetla się Dn: (gdzie n to numer), a klawisze Ctrl-A do Ctrl-O wybierają napęd od 1 do 15 i wtedy wyświetla się litera np. E:.
Stwierdziłem jednak, że za bardzo pogmatwa to procedury.

Jest więc tak:
- działają klawisze 1-8 - jak jak poprzednio (mogłem dodać 9 i 0 ale stwierdziłem że nie ma potrzeby)
- działają równolegle Ctrl+litera
- ZAWSZE wyświetla się symbol w postaci litery ( A: B: C: itd.)
Czyli wciśnięcie 5 powoduje pojawienie się symbolu E: i wczytanie katalogu z napędu nr.5 - tak samo zadziała Ctrl-E.

Jest gotowe, skompilowane.... może tak być??

677

(100 odpowiedzi, napisanych Fabryka - 8bit)

nosty napisał/a:

...testy faktycznie moga sie przydac...

Jeśli atarka jest uszkodzona tak, ze dochodzi do procedury testu w QMEGu (czyli nie są linie danych czy adresowe gdzieś przywarte, a procesor i ROM są sprawne), to odpali też carta diagnostycznego i to w nim powinny być takie testy, a nie zajmować miejsce na procedury przydatne w codziennym użytkowaniu. Mam problem, zajmuję się naprawami itp. - wtykam cart diagnostyczny.... nie mam problemów - nie potrzebuję testów.

Co do MLM, to nie dalej jak tydzień temu, tylko dzięki niemu zlokalizowałem błąd w kodzie. Jakoś na emulcu mi się nie objawił, więc te wszystkie wspaniałe pecetowe narzędzia na gwizdek mi były.

Kombinacja QMEG 4.04 i Sparta X faktycznie powoduje nieodpalenie się Sparty, ale po czasie uznaję to za zaletę a nie wadę. Na każdym dysku (w zasadzie to raptem dwie partycje po 16MB, bo na pozostałych jest MicroSparta DOS i Sparta X jest zbędna), na którym mam aplikacje działające pod SDX jest wrzucony pliczek INIDOS.SYS, który przywraca Spartę X w czasie bootowania i wszystko działa wtedy normalnie.

Dzieki czemu nie musze pstrykać przełącznikiem od SpartyX jesli jej nie potrzebuję :)

678

(100 odpowiedzi, napisanych Fabryka - 8bit)

Ja tu widzę przy okazji poprawiania za dużo psucia.
Siłą QMEGa, poza ramdyskami i obsługą przyspieszaczy, był podręczny i wygodny monitor MLM, zawsze można było na szybko sprawdzić co się dzieje w pamięci, wylistować kod, czy zrobić drobne poprawki.
Do tego brak obsługi drukarki to jakiś żart chyba. Większość analiz kodu itp. zrobiłem przy pomocy drukarki - kiedyś fizycznie podpiętej do atari, a potem przez przechwytywanie wydruku do pliku z APE. Gdyby to jakoś szczególnie pamięć zabierało to rozumiem, ale jak widzę dodaną kupę testów, z których i tak nikt korzystał nie będzie (no raz czy dwa po instalacji QMEGa, żeby zobaczyć jak to wygląda)  to trochę się dziwię,

Dla mnie wystarczyłyby poprawki dla procesorów 16bit i omijanie banków zajętych przez Spartę X (choć nie mam takiego procka i jak odpalam Spartę X to używam tylko jej ramdysku). Tylko te poprawki mają jakiś głębszy sens poprostu (no i jeszcze te dotyczące bardziej zaawansowanej obsługi ramdysków).

Czyli - podkreślam z mojego punktu widzenia - więcej popsute niż poprawione.

679

(192 odpowiedzi, napisanych Fabryka - 8bit)

Nie.
MSDOS to standardowy loader. Jego zadaniem jest załadowanie i uruchomienie programu, przy jak najmniejszej zajętości pamięci. I tyle.
Procedurę wczytywania pliku z dysku w formacie Sparty, możnaby wyciągnąć i stosować w innych programach, ale nie bardzo widzę sens takiego działania. Procedura ta musiałaby zostać obudowana kodem, który jest w MSDOS zamazywany w czasie ładowania. Do tego musiałaby mieć dwa bufory, czyli nie byłaby już taka niewielka. W związku z tym nie stanowiłaby konkurencji dla odpalonej z carta Sparty X.

680

(192 odpowiedzi, napisanych Fabryka - 8bit)

Dely: Bardzo dobry pomysł!!!
Oczywiście równolegle ze standardową metodą (od 1 do 10 klawiszami 1 - 0, czyli dodatkowo dwa napędy wybierane numerycznie).
Kuna - no nie pomyślałem jakoś wcześniej, że tak można ;)
A przeliczać nic nie trzeba - bedzie tablica w programie i już. Zresztą już wcześniej była taka tablica, bo w wersji 3.3 działały kombinacje cyfra+Shift (wyłączanie turbo przy przechodzeniu na inny napęd), ale że nie miało to sensownego zastosowania - wyrzuciłem.

Sikor: Literki powodują załadowanie odpowiadającego im programu z dysku - tego nie chciałbym zmieniać. Myślałem o wskazywaniu wybranej pozycji belką w Inversie, no ale to wymagałoby przepisania kawału programu na nowo, a do tego Bernasek robił wszystko do bólu systemowo, więc tutaj też trzebaby odrysowywać ekran w ten sposób - nie byłoby to zbyt ładne i szybkie. Bo idea ma pozostać - wszystko kulturalnie przez SIO i CIO.

681

(192 odpowiedzi, napisanych Fabryka - 8bit)

W zasadzie racja... ale Shift robi co innego (co prawda przy zmianie napędu nie jest sprawdzany)...
No jakoś mi to nie pasi :)

Z Pirxem myśleliśmy o dodatkowym klawiszu np. "Tab" po wciśnięciu którego możnaby wybrać w jakiś sposób napęd.

682

(192 odpowiedzi, napisanych Fabryka - 8bit)

A może ktoś wymyśli jak sensownie "oklawiszować" napędy o numerach 9-15 (właściwie to 9 i 10 da się łatwo zrobić, ale 11-15....)??
Ale tak, żeby nie zmieniać obecnej klawiszologii i żeby dało się klawisze sprawdzać systemowo (standardowe CIO na urządzeniu "K:")....

683

(8 odpowiedzi, napisanych Zloty)

Zasadzniczo to tez moge być....

684

(192 odpowiedzi, napisanych Fabryka - 8bit)

A i jedna uwaga. Obiecywałem, że w wersji końcowej MEMLO będzie jeszcze niższe a nie jest.... po prostu po konsultacjach z drac030 stwierdziłem, że i tak jest baaardzo niskie, a przeniesienie części kodo do bufora magnetofonu, może spowodować wywalanie się niektórych gier na intrach (bo bywa, ze piszą po tym obszarze).
W tej chwili loader zajmuje (wraz z buforami) obszar od $0700 do MEMLO (tego wyświetlonego na ekranie), oraz komórki na stronie zerowej: $24-$29 oraz $3D i $3E (wiec takie, które raczej nie powinny być użyte w intrach).
Ciekaw jestem, jak szybkie jest ładowanie programów na szybkich dyskach. Procedury ładujące są tutaj dość szybkie, więc to nie one powinny być słabym punktem.

No i jeszcze Pirx mi dziś raportował, że czasem są problemy z bootowaniem. To znaczy z wczytaniem MSDOS.COM z dysku zainicjowanego rozkazem BOOT. Wcześniej też miałem taki przypadek.
Pewne jest to, ze nie jest ten problem związany z MSDOS.COM, raczej trafiamy na jakieś ograniczenie bootloadera Sparty. Podesłałem kolegom Spartowcom jakiś czas temu takiego ATRa, może coś odkryją.

685

(192 odpowiedzi, napisanych Fabryka - 8bit)

No to skończyliśmy chyba.
To znaczy wszystkie dotychczasowe testy nowa wersja przeszła bez kłopotów - nosi numer 4.3.
Plik wykonywalny jest tutaj: http://pecus.pigwa.net/pliki/Atari/msdos43.obx (i w załączniku postu).
Będzie też plik ATR z wszystkimi głównymi wersjami, opisem oraz programami do tworzenia pliku z długimi nazwami, ale to jak Pirx skończy pisać.

A co oficjalnie w tej wersji:
1. Nowa metoda wczytywania pliku z dysku w formacie SpartaDOS - oszczędność jednego bufora na sektor mapy pliku.
2. Wyrzucona obsługa przyspieszaczy poza Happy/UltraSpeed (czyli najpopularniejszym) - wbudowana b. szybka procedura podnosi MEMLO o $0100 i może być wyłączona klawiszem Shift w czasie wyboru programu do załadowania (w czasie BOOTowania Shift wyłącza obsługę turbo całkowicie).
3. Dodana obsługa sektorów większych niż 256b (procedura loadera obsługuje dowolną długość sektora, jednak podręczny bufor stosowany w trakcie odczytu listy plików jest ustawiony na 512b - oczywiście jeśli kiedyś będzie taka potrzeba, bufor ten można zwiększyć jednym ruchem - ale w tej chwili to i tak opcja dla kilku osób na świecie ;) a dodatkowe wyliczanie i stosowanie potem wyliczonej dlugosci bufora wymagałoby zbyt wielu modyfikacji kodu).
4. Dynamiczne MEMLO loadera (w zależności od wielkości sektora minimalne MEMLO to: dla SD to $08D3, dla DD - $0953, a dla QD - $0A53).
5. Informacja na ekranie o stanie QMEGa, BASICa, turbo i wielkości sektora. Informacja o MEMLO przed załadowaniem wybranego programu.

686

(192 odpowiedzi, napisanych Fabryka - 8bit)

O.K.
Puściłem Ci maila.....

687

(192 odpowiedzi, napisanych Fabryka - 8bit)

No niech mi sie zgłosi ktoś, kto ma dysk z sektorami 512b :)
Program czeka na przetestowanie, a ja nie mam jak.
Gotowa jest uniwersalna procedura loadera, majaca obslugiwac dowolne dlugosci sektorow. Ze 128 i 256b dziala jak trzeba.... testera potrzebuje!!! :)

688

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

Ja zaznaczyłem pierwszą opcję !!! :)

689

(192 odpowiedzi, napisanych Fabryka - 8bit)

Oj tam kombinujecie :)
Sprawdziłem i jedno i drugie i chyba duże litery bez inversu ładniejsze trochę.
Ale mi chodziło o koncepcje w stylu: "może by tak przesunąć napis MSDOS w prawo i zmniejszyć cośtam..." oczywiście w obrębie linii statusowej. Można życzyć sobie zmiany prezentacji info o QMEGu itp ;)

Aaaaa i proszę nie przyzwyczajać się do numeracji. 4.x to wszystko wersje testowe są.
Za wcześnie cyferki zaczęliśmy dodawać. Finalna wersja to będzie 4.0 po prostu !!!

A i jeszcze uwaga. Wersje testowe mogą mieć wyłączoną funkcje powrotu po błędzie na stacje z której startowały - mogą wracać na D1:. Po prostu blokuję to do testowania pod emulcem i czasem zapomnę prze kompilacja przywrócić :)

690

(192 odpowiedzi, napisanych Fabryka - 8bit)

Będzie ostateczna jak skończę :) . Ta wersja to ostatnia obsługująca tylko sektory 128 i 256b. Właśnie teraz pracuję nad dokończeniem obsługi większych i nie jest źle.
Tyle tylko ze sam loader się trochę wydłuży (dotychczas liczniki chodziły na 1 bajcie, a konkretnie tylko na rej. X, który w czasie pracy loadera spełnia tylko tę funkcje, a teraz trzeba dodatkowy bajt zwiększać i sprawdzać).
Wersja finalna, ma przerzucać część loadera do bufora magnetofonu i zyskiwać dodatkowe około 100 bajtów w ten sposób. Ale to już jest pikuś...

Format SD już przetestowałem... MEMLO jest wtedy oczywiście 128b niżej ;) i działa. Dodałem też informację o wielkości sektora na ekranie... na razie to jeden znak i to tak dziwnie zrobiony.... Jakieś propozycje jak może to wyglądać i gdzie to info zmieścić ?? Ten znaczek w moim pomyśle jest na pasku statusu przed Dn: i jest to dla sektora:
128b - znak Ctrl-N
256b - znak Ctrl-U
512b - spacja w inverse (czyli pełny kwadrat)
Symbolizuje mi to pojemność sektora, ale to tak na szybko potrzebowałem wiec tak zrobiłem - inne pomysły mile widziane....
Wracam do kodowania.

691

(192 odpowiedzi, napisanych Fabryka - 8bit)

Zrezygnowałem po prostu ze stosowania wbudowanych procedur jesli jest QMEG - bo w końcu on ma swoje i każdy może je włączyć lub wyłączyć jeśli chce. Tak wiec wbudowane procedury turbo aktywują się tylko jeśli nie ma QMEGa i tylko wtedy ma sens wciskanie Shifta ;)
A wyświetlanie MEMLO zostanie, bo w nowej procedurze ładującej zależy ono od sposobu ułożenia ładowanego pliku na dysku oraz wielkości sektora (hm w pojedynczej gęstości nie testowałem jeszcze ciekawe..... no i tu błąd w kodzie... :) .... już poprawiony, plik w poprzednim poście podmieniony) i może być różne w różnych sytuacjach - a wtedy warto wiedzieć czy nie jest za wysoko (choć raczej nie będzie ;) ).

692

(192 odpowiedzi, napisanych Fabryka - 8bit)

O.K.
Znalazlem błąd powodujący zwisy..... niestety MADS nie uznaje konstrukcji (.adr blok.etykieta) jako parametru w makrorozkazie ..... skompilowalo sie z adresem $00. No i tak się składało ze jak w komórce $0000 było $00 to dzialalo, a jak inna wartość (ale nie z kazda sie objawial blad) to byla sieczka na ekranie.... a QMEG przy restarcie zostawia zawartość komórki $0000 niezmieniona, wiec jak juz sie popsulo, to nic sie nie wczytywało....
No ale teraz już adres jest prawidlowy.... jeszcze tylko trzeba sprawdzić dlaczego Bootloader Sparty zle to wczytyje, podobno jak sie najnowsza sparta zainicjuje - jest O.K.

Podmieniłem plik - drobiazg powodował złą obsługę sektorów 128b..... teraz już wszystko jest O.K.
Za parę dni można liczyć na wersję finalną z obsługą sektorów 512b i większych ...

693

(192 odpowiedzi, napisanych Fabryka - 8bit)

No tez to mialem, gdzies (pewnie przez pomylke klawiszowa, bo tej czesci kodu jeszcze nieruszalismy) cos skrzanilem :)

Jeszcze jakbys podal ktora gre wybrales... bo miejsce na liscie moze miec znaczenie.
Gra nawet nie zaczyna sie wtedy ladować, wiec nie ma znaczenia jaka ma strukture.... blad jest gdzies w kodzie MSDOSa.

694

(192 odpowiedzi, napisanych Fabryka - 8bit)

Procka kompilatora jak rozumiem :)

695

(192 odpowiedzi, napisanych Fabryka - 8bit)

No i posiedzieliśmy z Pirxem trochę w weekend, zmieniliśmy z lekka koncepcje i jest pierwsza "publiczna beta" nowej wersji.
A co w niej.
- zmiana koncepcji czytania pliku i zaoszczędzenie miejsca na jeden z buforów (teraz loader ma bufor tylko na jeden sektor)
- dynamiczne MEMLO (w zależności od rozlokowania na dysku wczytywanego pliku), bez turbo dla sektorów 256b jest to około $0930, czyli niziutko (w wersji końcowej będzie jeszcze jakieś 60-80 bajtów niżej)
- wyświetlanie MEMLO przed załadowaniem pliku
- rozpoznawanie QMEGA (wyłączana jest wtedy wewnętrzna obsługa trybu UltraSpeed), Basica, oraz dostępności trybu US i wyświetlanie tego na ekranie.
- po błędzie loader czyta katalog dysku z którego został wczytany a nie D1: (wkurzające to było bo jak sie pod D1: miało dysk w innym formacie to program się zapętlał)
- wstępna implementacja sektorów wiekszych niż 512b (jeszcze trochę pracy wymaga, wiec beta nie obsługuje ich jeszcze)

Wersja jest w trakcie testów, więc mogą być jakieś bugi, ale jak i wy potestujecie, to końcowy program bedzie szybciej :)

696

(15 odpowiedzi, napisanych Kolekcjonowanie)

A ile chcesx za modem?
Ten uzywany...

697

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

drac030 napisał/a:

Wystarczy spojrzeć na menu

No ale tutaj widać że nie obsługuje 360 i 720kb  ;) ;) tylko 180kb :)

698

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

To znaczy żeś za głupi nawet na tak prosty soft.

Wyobraź sobie, że przed chwilą ściągnąłem triala APE, zainstalowałem (a nie lubię instalować nowych programów na swoim pececie). Stworzyłem w nim ATRa 720kb, podmapowałem pod napęd numer 7 (a tak mam).
Podpiąłem atari odpaliłem ze Spartą X i ..... CUD polecenie Format bez problemu sformatowało mi tego ATRa tak jak powinno.

699

(192 odpowiedzi, napisanych Fabryka - 8bit)

Robi sie. Na razie jest wersja wyczyszczona ze smieci i znalezionych błędów (drobiazgi).
W tej chwili trwa przystosowanie do sektorów innych niż 128b i 256b, a na koniec zostala implementacja nowej metody ładowania.
Jak chcesz to podeślę Ci te czysta do testów, bo wczoraj drobny błąd (o jeden bajt za daleko ;) ) zmarnował mi pół dnia :)

Założenie nowej wersji jest proste.
Stabilność i niskie MEMLO kosztem bajerów. Obsługuje więc natywnie tylko turbo w standardzie US/Happy. Wykrywa QMEGa i wtedy wyłącza turbo (zawsze). Shift tylko odłącza procedury turbo (trzymany w czasie BOOTowania całkowicie).

W zasadzie to teraz akurat dłubię w atarce, bo kiedyś wyciachalem guzik do mapowania D9 na D1 w SIO2IDE (nie mieścił się), ale dziś go zmieszczę :) Wlaśnie konstuuję przycisk, który jest o 2/3 mniejszy w środku kompa, a z zewnątrz wygląda tak samo :)

700

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

bezrobotny napisał/a:

bo skoro nic nie wysyła [....]... no bo nie sprawdza

Głupiś dziecko.
To że nic do nie wysyła nie znaczy, że nie sprawdza. Ciekawe jaką "dyskietkę" masz zaladowaną wtedy do APE ? Sparta Ci tylko sformatuje w formacie ustawionym w APE (w ATRze). APE to nie prawdziwa dyskietka, którą możesz formatować w kilku różnych formatach. W APE masz załadowany plik ATR o konkretnych parametrach i tylko taki format powinien umożliwić formater Sparciany.
Jesli Ci nie dziala to win APE.
Ja APE nie używam więc nie testowałem, ale na szczęście totalnie głupi nie jestem, a przynajmniej nie objawiam tego wszem i wobec.