atarionline.pl Basic, Display List, Ramtop - pytanie - 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:
         
        CommentAuthorstring
      • CommentTime27 Dec 2021 22:12
       
      Proszę o informację czy to dobry kierunek.

      Bazowy basicowy tryb gr.0. Mam swoją Display Listę na stronie 6. Ustawione adresy pod grafikę gr.5 i okienko tekstowe gr.0 które ma 8 linii.

      Basic wyłączony na czas uruchomienia programu, kod kompilowany.

      Program ustawia adresy gr.5 tak jak mu narzucam, ale po kompilacji przerzuca dane trybu gr.0 na wyższe adresy - nie te z display listy. Poszukałem je sobie i wygląda na to że są zawsze na stałe w tym nowym miejscu, więc ok. Do nich będę sie i tak odnosił instrukcja position.

      Obniżyłem ramtop poke 106 o 16 stron - łącznie 4kB danych na sprites, fonty i właśnie miejsce gdzie wczytuję grafikę bajt po bajcie - odnoszę się do ustalonych pod te rzeczy adresów co 1024 bajty.

      I teraz pytanie czy takie założenia są słuszne i czy w przypadku jak kod się rozbuduje, OS nie będzie wchodził na te moje dane (4kB) lub nie przeniesie ich w inne miejsce? Póki co nie przenosi, ale co jak kod urośnie? Czy to bezpieczne po prostu i czy poke 106 wystarczy systemowi żeby nie wchodził w moje dane.

      Btw programuję w Basicu pod Altirra bez dosa więc mam ok 37kB. Teoretycznie, bo potem kompiler wstawia część swoich danych w mój program.

      Póki co TBXL is out of the question :) więc proszę o nie namawianie mnie na zejście z tej "złej" Basic'owej drogi :)
      • 2: CommentAuthormono
      • CommentTime28 Dec 2021 00:12 zmieniony
       
      RAMTOP (106) jest brany pod uwagę przez OS wtedy kiedy otwierany jest kanał dla urządzenia E: lub S: (OPEN lub GRAPHICS). I OS właściwie tylko w tym przypadku może Ci górę pamięci nadpisać. Więc wystarczy.
      Ale nie wiem jakie kompilator BASIC-a ma założenia.
      • 3:
         
        CommentAuthorstring
      • CommentTime28 Dec 2021 01:12
       
      Instrukcję GR.0 używam raz na początku, ale z OPEN korzystać będę częściej - w całym programie, wiele razy.

      Kompilator ABC v1.5. Póki co bezproblemowy, b. wygodny i przede wszystkim szybki. Nie wiem niestety co on dokładnie tam miesza w programie.

      Pytanie jeszcze czy przy gotowym (zakończonym) i skompilowanym programie, jeśli testy nie wykażą żadnych błędów w nadpisywaniu danych itp., można się spodziewać że system zawsze dokładnie tak samo będzie się zachowywał? I przy dwudziestym uruchomieniu nie przestawi sobie czegoś? Wiem że może to też zależeć od tego co program będzie wynikowo robił, ale w zasadzie zmienne staram się trzymać pod stałymi adresami - chociaż nie wszystkie...
      • 4:
         
        CommentAuthorjhusak
      • CommentTime28 Dec 2021 02:12 zmieniony
       
      Pamiętam, ze przy skrolowaniu SO może zamazać cześć bajtów powyżej pamięci ekranu. Z reguły tam jest rom. Jak umieścisz PMG bezpośrednio nad memtop, to będzie działać.

      Nic nie powinno się samo przenosić.
      • 5: CommentAuthormono
      • CommentTime28 Dec 2021 10:12
       
      Tak. OS sam z siebie nic nie zrobi.
      Miałem na myśli OPEN na urządzeniu E: lub S:.
      • 6:
         
        CommentAuthorstring
      • CommentTime28 Dec 2021 11:12
       
      Ok, pięknie dziękuję.
      • 7:
         
        CommentAuthorKaz
      • CommentTime28 Dec 2021 13:12 zmieniony
       

      stRing:

      Kompilator ABC v1.5. Póki co bezproblemowy, b. wygodny i przede wszystkim szybki.


      Mam prośbę - pokazałbyś na swoim przykładzie na zoomie taki instruktaż, jak kompilować tym programem? Wbrew pozorom nie jest to takie trywialne.
      • 8:
         
        CommentAuthorstring
      • CommentTime28 Dec 2021 13:12
       
      Chętnie, chociaż to naprawdę prosta sprawa.
      Kiedy i o której?
      Jakiś link do tego zoom'a?
      • 9:
         
        CommentAuthorKaz
      • CommentTime28 Dec 2021 14:12
       
      Link na głównej stronie, pasek po prawej stronie. Jest tam też kod QR. Czynne 24h, więc możesz w każdej chwili sobie przetestować czy i jak działa. Termin? Może najbliższy czwartek 20:00? Bo dzisiaj to o 20:00 mamy spotkanie z gośćmi od Uni-Joy (zapraszam, zobaczysz jak takie spotkanie wygląda).
      • 10:
         
        CommentAuthorstring
      • CommentTime28 Dec 2021 14:12
       
      Ok, zarezerwuję sobie czas na ten czwartkowy wieczór, ale to tak maks. z pół godzinki, bo dzieci, rodzina...
      • 11:
         
        CommentAuthorKaz
      • CommentTime28 Dec 2021 15:12
       
      Super! W kalendarzu już jest. Tak, pół godzinki powinno wystarczyć, chociaż czasem temat może się rozwinąć.