atarionline.pl Spartański DOS i NEOTracker - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorsun
    • CommentTime7 May 2020
     
    Takie mam pytanie: czy to działa?
    Skąd pytanie: mam otóż wersję instalacyjną NEOv1.8 z internetów i pod spartą nawet nie startuje. Startuje pod MyDOS, ale zwiesza się podczas zapisu (instalacji). Pod MyDOS działa wersja 1.7.
    Od razu przyznaję się, że nie testowałem czy działa na sparcie, ale skoro w opisie jest, że wykrywa które banki sparta zajmuje, to zapewne działa - sprawdzę.
    Co zatem jest nie teges z v1.8?
    • 2: CommentAuthorpin
    • CommentTime7 May 2020
     
    Działa bez problemu, ale sparta musi być w trybie banked, oraz w instalatorze do neo trzeba wyłączyć używane przez dos banki ext ramu. Polecenie mem /x bodaj da odpowiedź.
    • 3: CommentAuthorsun
    • CommentTime7 May 2020
     
    Sękju ale wszak na atariki pisze, że instalator sam rozkminia, które banki są zajęte przez spartę.
    Powalczę.
    • 4: CommentAuthorJacques
    • CommentTime7 May 2020
     
    Również pamiętam, że musiałem ustawiać banki w instalatorze Neotrackera manualnie, bo bez tego się nie uruchamiał.
    • 5: CommentAuthormono
    • CommentTime7 May 2020
     
    Trzeba uruchamiać przez X NEO.COM.
    • 6: CommentAuthorpin
    • CommentTime7 May 2020
     
    To trzeba poprawić wips w atariki.
    • 7: CommentAuthorsun
    • CommentTime13 May 2020 zmieniony
     
    ok, odpalenie instalatora v1.8 z X'a działa, nawet się zainstalował. Również z X'a się odpala, ale...
    Coś mi mówi, że zaufałem instalerowi a on chyba nie zgadł, które banki zjada sparta (use banked, żeby nie było plus ramdysk).
    mem /x podaje
    Main: $1725,$1725,$0000
    Ext: $6F5C,$6F5C,$0000
    Top: $9C1F ($BC1F),$7FFF
    Free: 34042 (42234),4259
    64 banks total
    52 banks free

    y... łopatą(logicznie) proszę o wyjaśnienie ekspertów.
    Instalator pokazuje 40/40 banks
    Wyłączyć, ale które? Pierwsze 8-10? Testuję.
    Hmm... wyłączyłem pierwsze 10, jakby teraz NEO działa, ale czy dobrze to zrobiłem?
    • 8: CommentAuthormono
    • CommentTime13 May 2020
     
    A MEM /x nie podaje "Use: BANKED, PORTB $xx" ? To jest nr banku który zajmuje SDX dla swoich potrzeb.

    Z tego:
    64 banks total
    52 banks free
    wynika, że coś zarezerwowało dodatkowo 12 banków.
    • 9: CommentAuthorsun
    • CommentTime13 May 2020 zmieniony
     
    a widzisz, przepisując z ekranu pominąłem, jest
    Use: BANKED, PORTB $0D
    te 12 banków mógł zjeść ramdysk z SC :)
    Rozumiem zatem, że wystarczy ten 1 bank wyłączyć w NEO?
    Ale czy wtedy nie "zajedzie" mi ramdysku z SC?

    No to jednakowoż instalator v1.8 nie pokazuje banku $0D, czyli jednak sam go wykrył. Spróbuję zatem nie wyłączać teraz nic w setupie.

    No jednak nie, jak nie wyłączę pierwszych 12 banków, NEO pada podczas ładowania modułów.
    • 10: CommentAuthormono
    • CommentTime13 May 2020
     
    Zajedzie.
    Po pierwsze musisz wziąć rozwinięcie binarne numeru banku - dla $0D to jest %00001101. To jest wartość wpisywana do PORTB. Dwa najmłodsze bity zignoruj, dzięki czemu jeśli NEO pokazuje Ci nr banku $0C (%00001100) to jest to dokładnie ten sam bank - jego zaznacz jako zarezerwowany.
    Kolejna rzecz to pozostałe banki zarezerwowane przez ramdysk SDX. Jest trochę trudniej, ale do ogarnięcia.
    Najpierw policz ile banków jest zarezerwowanych bazując na informacji:
    64 banks total
    52 banks free
    Wygląda na to, że 12.
    Następnie w SDX wykonaj polecenie:
    MDUMP T_+8
    i przerwij je klawiszem BREAK - interesują nas 2 pierwsze linie wydruku.
    0919: E3 E1 C3 C1 A3 A1 83 81 
    0921: 63 61 43 41 23 21 03 01

    To są wartości wybierające czwórki banków (16*4=64 banki po 16KB czyli max 1024KB dodatkowej pamięci). SDX rezerwuje banki od końca listy więc najpierw liczysz który bajt tablicy jest ostatni:
    64 banki (total) / 4 = 16 - czyli w 16 elemencie tablicy będziesz miał pierwszy bajt. Dokładną wartość banku otrzymujesz dodając $0C,$08,$04,$00 do tej wartości (%00001100, %00001000, %00000100 i %00000000). Czyli jeśli bajt w tablicy wynosi $01 (%00000001) to ostatni bank (63) to będzie $01+$0C=$0D - i masz właśnie bank systemowy, który SDX rezerwuje do swoich potrzeb.
    Kolejne 3 banki to:
    $01+$08=$09 (bank 62)
    $01+$04=$05 (bank 61)
    $01+$00=$01 (bank 60)
    następna czwórka banków jest w poprzednim elemencie tablicy - u mnie to jest $03 więc:
    $03+$0C=$0F
    $03+$08=$0B
    $03+$04=$07
    $03+$00=$03
    kolejna czwórka jest w kolejnym (poprzednim) elemecie listy - czyli $21, więc:
    $21+$0C=$2D
    $21+$08=$29
    $21+$04=$25
    $21+$00=$21
    i tak dalej.
    Twoje 12 banków zarezerwowanych to są właśnie te wszystkie banki, które wyliczyłem (włączając bank systemowy z MEM czyli $0D).
    • 11:
       
      CommentAuthorjhusak
    • CommentTime14 May 2020 zmieniony
     
    @mono - prościzna :D

    Skąd wy czerpiecie tę wiedzę ?!?
    • 12: CommentAuthorpirx
    • CommentTime14 May 2020
     
    ze źródeł pewnie :]

    ale tak na marginesie to aż woła o mini-utila, który te informacje wyliczy i pokaże.
    • 13: CommentAuthormono
    • CommentTime14 May 2020
     
    Z Programming Guide :P "3.7.3 Przeliczenie indeksu pamięci na wartość rejestru": ->link<-

    @pirx: Dobry pomysł. Zrobię taką pchełkę.
    • 14: CommentAuthormono
    • CommentTime14 May 2020
     
    Okazuje się, że nic nie trzeba robić bo na toolkit.atr już takie narzędzie jest w katalogu UTILS>SYSUTIL i nazywa się MEMINFO. Trzeba sobie je rozpakować przez ARC X MEMINFO i gotowe.
  1.  
    Is this mega-complex XRAM-banks sorting program correct?

    01,03,05,07,09,0B,0D,0F
    21,23,25,27,29,2B,2D,2F
    41,43,45,47,49,4B,4D,4F
    61,63,65,67,69,6B,6D,6F
    8... you get the idea!
    A...
    C...
    E...

    But I do not know why 0D is missing (nor if other banks ending with yD are available or not), it's Sparta which may reserve some banks for its own use - and I never use Sparta. Normally a 1MB extension has 8 blocks (02468ACE, here vertically) each with 8 banks (1,3,5,7,9,B,D,F, here horizontally). I guess MemInfo may tell you, which banks Sparta reserves for its own use...?!?
    • 16: CommentAuthormono
    • CommentTime14 May 2020
     
    Yes, it tells which banks are reserved by SDX and drivers.
    And which are free to use.
    • 17: CommentAuthorsun
    • CommentTime15 May 2020 zmieniony
     
    @mono:No nieźle :) Toż to trzeba się doktoryzować, żeby zainstalować NEO na Sparcie :)
    Ale jako ciekawostkę powiem, że jak na pałę wyłączyłem pierwsze 12 banków, to mody grają, ramdysk przetrwał (chwilowo tylko na nim jest SC).
    Tool zaraz zostanie rozpakowany i wykorzystany.
    Dzięki.

    P.S.
    Po co mi ta sztuka? Żeby wykorzystać pokeymax'a z covoxem podczas oczekiwania na NEOPLAY :)