atarionline.pl Sztuczki programistyczne - 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: CommentAuthorgorgh
      • CommentTime8 Jul 2020 12:07
       
      Czołem koledzy,
      wczoraj przeglądałem na Atari demka i trafiłem na tę produkcję z około 1990 roku:
      ->link<-
      Niby prosta rzecz, ale zauważcie, że na środku ekranu w trybie hires jest... 8 duszków w linii!
      Mega fajnie jest to wymyślone.
      • 2:
         
        CommentAuthorKaz
      • CommentTime8 Jul 2020 12:07
       
      Może mnie pamięć myli, ale Bewesoft jeszcze to gdzieś wykorzystał.
      • 3:
         
        CommentAuthormaly_swd
      • CommentTime8 Jul 2020 15:07
       
      Ściganie plamki + podmiana danych dla duszków? Tak wiem, wszyscy to wiedzą ale w latach 90' to było coś.
      • 4: CommentAuthorgorgh
      • CommentTime8 Jul 2020 15:07
       
      jest jeszcze możliwość, że to podmiana trybów graficznych w locie
      • 5: CommentAuthorgorgh
      • CommentTime8 Jul 2020 15:07
       
      a nie, tak się chyba nie da
      • 6:
         
        CommentAuthorsun
      • CommentTime8 Jul 2020 18:07
       
      Altirra + F8 prawdę "Ci" powie :)
      • 7:
         
        CommentAuthormaly_swd
      • CommentTime8 Jul 2020 18:07
       
      Podmiana trybów raczej odpada, nie da się aż tak z hires na 4 ;)

      Ale ja to nie jestem aż taki kozak w tych zmianach trybów.
      • 8: CommentAuthortebe
      • CommentTime8 Jul 2020 19:07
       
      zrealizowane podobnie jak w HCM (Hard Color Map) prezentowany w Reharden (zastanawiające jest tylko powtórzenie litery E, tutaj można oszczędzić na zapisie rejestru GRAFP)

      ogólnie można obok siebie/przylegająco 7 duchów w podwójnej szerokości, każdy z innym kształtem, tylko na zmianę koloru nie ma czasu

      większe odstępy między duchami pozwolą wcisnąć zmianę rejestru koloru
      • 9: CommentAuthorgorgh
      • CommentTime8 Jul 2020 19:07
       
      ładne to, dzięki
      • 10:
         
        CommentAuthortdc
      • CommentTime8 Jul 2020 21:07
       
      Ponad miesiąc temu na naszym warsztacie z Action! pokazywałem jak zrobić 6 duszków w linii w samym Action! - zero asemblera;)))
      • 11: CommentAuthortebe
      • CommentTime8 Jul 2020 22:07
       
      gorgh pogłaszcz też tdc-a bo merda ogonkiem ;)
      • 12: CommentAuthornosty
      • CommentTime8 Jul 2020 23:07
       
      TDC ma rację, w Action! da się zrobić tylko 6 duszków w linii. Siódmy się już nie mieści ;)
      • 13: CommentAuthorgorgh
      • CommentTime8 Jul 2020 23:07
       
      nosty: красота!
      przy okazji podzielę się sposobem na szybkie generowanie obrazów kartridży, normalnie korzystałem z narzędzia bociana o nazwie CutAs i ręcznie łączyłem poszczególne 16kb bloki, ale okazało się, że za pomocą mads jest to dziecinnie proste:

      asm:

      opt f+h-
      ins 'b0.bin'
      ins 'bank1.bin'
      ins 'bank2.bin'
      ins 'bank3.bin'
      ins 'bank4.bin'
      ins 'bank5.bin'
      ins 'bank6.bin'
      ins 'bank7.bin'
      ins 'bank_level2.bin' ;'bank8.bin'
      ins 'bank_level3.bin' ;'bank9.bin'
      ins 'bank_level4.bin' ;'bank10.bin'
      ins 'bank11.bin'
      ins 'bank12.bin'
      ins 'bank13.bin'
      :18 ins 'bank12.bin'
      • 14:
         
        CommentAuthorjhusak
      • CommentTime8 Jul 2020 23:07 zmieniony
       
      @nosty, duchów da się zrobić 10 w linii :)
      @gorgh, w madsie można jeszcze fajniejsze cuda robić. Ja jak np. robię flasher do kartridża, to jego obraz w nim inkluduję po 8kb, a następnie jest skok init do obsługi tych 8 kilobajtów.

      ; ---------------------------------------
      ; blocks for every 8kb bank
      .rept 32, #
      .local block:1
      ;------------
      org BankNum ; miejsce w programie na numer banku do przelaczenia
      dta b(:1) ; kolejny numerek licznika rept
      ;------------
      org _SOURCE
      ins "car.bin",+:1*8192,8192
      ;------------
      org $2e2
      dta a(MAIN_PROCESS)
      ;------------
      .endl
      .endr
      ;------------
      org $2e2
      dta a(FINISH_PROCESS)