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
     
    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 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
     
    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 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
     
    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
     
    Ok, pięknie dziękuję.
    • 7:
       
      CommentAuthorKaz
    • CommentTime28 Dec 2021 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
     
    Chętnie, chociaż to naprawdę prosta sprawa.
    Kiedy i o której?
    Jakiś link do tego zoom'a?
    • 9:
       
      CommentAuthorKaz
    • CommentTime28 Dec 2021
     
    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
     
    Ok, zarezerwuję sobie czas na ten czwartkowy wieczór, ale to tak maks. z pół godzinki, bo dzieci, rodzina...
    • 11:
       
      CommentAuthorKaz
    • CommentTime28 Dec 2021
     
    Super! W kalendarzu już jest. Tak, pół godzinki powinno wystarczyć, chociaż czasem temat może się rozwinąć.