401

(33 odpowiedzi, napisanych Programowanie - 16/32bit)

No jest wiele opcji. Rozwiązanie z odpowiednią sekcją BSS chyba jest najprostsze, bo TOS sam wyświetli odpowiedni komunikat jak pamięci będzie za mało. Wyobrażam sobie, że takie bardziej zaawansowane scenariusze pewnie mają znaczenie przy większych Atarkach, które mają multitasking, ale w przypadku zwykłego ST ze zwykłym TOSem i tak wychodzi na jedno.
Doczytałem jeszcze teraz dokumentację i rzeczywiście przeczytałem, że TOS przydziela zawsze wszystko, a mshrink (alternatywna nazwa setblock) rezerwuje konkretny obszar, więc nie ma tam mowy o zwiększaniu pamięci bo i tak na starcie ma się maksa.

402

(33 odpowiedzi, napisanych Programowanie - 16/32bit)

@Kroll - Dzięki, widzę, że można wycisnąć naprawdę dużo, więc jest sporo marginesu.
@Adam - Planujemy demo plikowe doczytujące się z HD na STE i nie mam pojęcia co wyjdzie z kompatybilności z większymi Atarkami, więc na pewno ograniczę się do standardowej pamięci ST.
Nie rozumiem jeszcze do końca zależności mshrink i malloc. Planuję zrobić proces, który będzie zajmował malutko (mało code, data i bss), który rozejrzy się po zmiennych systemowych sprawdzając ile jest pamięci i wtedy zrobi mshrink na tyle pamięci ile mu potrzeba. Nie wyczytałem w docach, żeby mshrinkiem dało się tylko zmniejszać pamięć a nie powiększać, dlatego nie zakładałem, że będę wołał malloc (mam negatywne odczucia  co do runtime'owego zarządzania pamięci).

403

(33 odpowiedzi, napisanych Programowanie - 16/32bit)

Ja myślę, że przykład, ale mnie zadowala i będę podpierał się autorytetem tego wytrawnego STkowca ;)

404

(33 odpowiedzi, napisanych Programowanie - 16/32bit)

Demo będzie doładowywane z dysku, bo muzyka będzie strumieniem (więc odpada problem alloców playera muzyczki). Ja mam dość czyste atari STE (TOS 2.06) z 4MB RAMu na którym mam tylko sterownik Putnika do Ultra Satana. Nic poza tym. Nie byłem po prostu pewny, czy ta konfiguracja nie jest zbyt syntetyczna i czy ludzie nie mają załadowanych więcej rzeczy, bo jestem zupełnie zielony w kwestii "co się miewa" w STkach, a nie chciałem zgrzytów jeśli okaże się, że uruchomi się tylko u mnie.
W każdym razie skoro padła tu liczba 3.7 MB, to póki co uznam to za górny limit, jaki można wymagać i słuszna informacja, żeby jasno zdefiniować w opisie ile się wymaga i ludzie będą mogli się do tego dostosować (w granicach rozsądku). Dzięki!

405

(33 odpowiedzi, napisanych Programowanie - 16/32bit)

Oczywiście zawsze znajdzie się jakaś maszyna z takimi sterownikami, które zajmą absurdalnie dużo pamięci. Bardziej interesujący jest przypadek rozsądnej konfiguracji jakie ludzie mają na biurkach i oglądają na nich dema. Nie twierdzę, że chcę wymagać na maksa, tylko właśnie się zastanawiam jaki wyznaczyć sobie górny limit, bo gdy demo będzie już napisane i okaże się, że jednak przesadziłem, to już będzie trochę późno. Jak 4MB to 64*64kB to nie wiem czy 60*64kB jest jeszcze rozsądnie osiągalne, czy bliżej 56*64kB albo jeszcze mniej.

Hej. Mój pierwszy wątek w tym dziale :)
Może trochę dziwne pytanie, ale wiecie, wychodzę z atari 8-bit, a tam takimi rzeczami ludzie się martwię ;)
Interesuje mnie kwestia jak to jest z pamięcią w STE. Zakładając że ma się 4 MB na pokładzie, to na ile z tego można liczyć, że będzie dostępne dla dema, żeby nie ukisić systemu (a w szczególności, żeby sterownik dysku działał)?
Zaglądając do Sysinfo widzę u mnie (a także w Hatari), że membottom jest poniżej $20000, a memtop opiera się o pamięć ekranu.
Czy można zakładać, że w konfiguracji w której ktoś chce uruchomić demo membottom nie przekroczy $20000? a dokładniej, że mój program nie załaduje się powyżej tego adresu)? A jak to jest z memtop? Czy coś tam może być załadowanego przez system, czy zawsze jest tam wolne do phystop? Czy poprawnym jest założenie, że wszystko pomiędzy może być bezpiecznie dostępne dla dema?

Oczywiście rozumiem systemowe mechanizmy zarządania pamięcią, wołanie mshrink() itp. Pytanie tyczy się tylko tego ile system jest w stanie mi dać.

407

(893 odpowiedzi, napisanych Scena - 8bit)

Prawdę mówiąc, ja bym nawet nie wpadł na to, żeby publikować demo "ot tak". Przecież to bez sensu. Dla mnie od zawsze było oczywiste, że dema pisze się po to, żeby były wystawione w konkursie na demoparty, bo największą nagrodą jest obserwowanie reakcji publiki podczas prezentacji.
W 2021 mamy szanse na co najmniej jednego Losta i na dwa SV. Któreś z nich musi się udać, więc nie panikujmy :)

408

(139 odpowiedzi, napisanych Programowanie - 8 bit)

To jakieś kodowanie arytmetyczne żę tam są potrzebne mnożenia?

409

(3 odpowiedzi, napisanych Sprawy atari.area)

Co sugeruje, że w dziale fabryka wątki może zakładać tylko autor programu, gry lub dopałki do ST. Tak zawsze rozumiałem fabrykę, że nie jest miejscem na info, że ktoś gdzieś tam coś buduje, tylko że "hej, buduję to i to, czy to ma sens?".

Nie wiem jak z lutowniczego punktu widzenia, ale 65C02 nie ma żadnej przewagi nad 65C816 a ma niekompatybilności nie tylko w postaci braku nielegali ale nawet coś gorszego - kilka instrukcji ma inny czasu wykonywania, co może rozwalić nawet rzetelnie napisany kod.

Jak już idziemy w niekompatybilność to jeżeli byłby tylko dostępny, to 65CE02 byłby o wiele ciekawszy (Commodore 65 miał mieć go na pokładzie).

411

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

Ja akurat pisałem o jednobajtowych nopach, których sekwencji nie da się przerwać. 65CE02 nie ma tych nopów. On działa zupełnie inaczej.

412

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

Fox napisał/a:
laoo/ng napisał/a:

Wg tego dokumentu przerwanie nie może wskoczyć po instrukcji skoku względnego nie przekraczającego strony.

W jednym akapicie jest to napisane w trybie przypuszczającym, ale już w następnym jest plot twist.

Eh... dopiero teraz doczytałem ten drugi akapit.
Wygląda zatem, że jedyną taką sekwencja są jednobajtowe NOPy w 65C02.

413

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

Bardzo fajny dokument. Nie znałem go.
Zawiłości wewnętrznej pracy procesora nie są łatwe do zrozumienia. To wymaga sporo przetrawienia. Po prostu ostatni cykl rozkazu w rozważaniach na tej stronie nie jest tym, czym myślisz, że jest. Nawet poświęcili trzy paragrafy na uzasadnienie tego. Zastosowali konwencję, że pierwszym cyklem jest cykl, w którym rejestr rozkazu ma już załadowany opcode i procesor już może go wykonywać i wykonuje go aż do ostatniego cyklu, w którym ładuje opcode następnego rozkazu. Więc przykład lda #0 w ich konwencji wygląda tak:

1. przeczytanie operandu z pamięci
2. załadowanie operandu do akumulatora ORAZ przeczytanie opcode'u następnego rozkazu.

I tutaj ostatni cykl ma w sobie ten "pipelining", jak dla wszystkich rozkazów, w których przedostatni cykl (w tej nomenklaturze) nie jest cyklem zapisu, bo jego fizycznie nie można połączyć z fetchem następnego opcode'u.




W ogóle fajna rzecz. Wg tego dokumentu przerwanie nie może wskoczyć po instrukcji skoku względnego nie przekraczającego strony. To warto byłoby sprawdzić, bo teoretycznie sekwencji

  clc
l bcc l

nie można przerwać. Nie wiedziałem tego.

414

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

Opowieść z cyklu, że na Placu Czerwonym rozdają rowery...

Typowy XXL jest typowy :) Spróbuj, proszę, podchodzić trochę mniej bezkrytycznie do tego, co przeczytasz gdzieś w internecie, gdyż nie trzeba ostrego jak brzytwa umysłu, żeby zorientować się, że następny rozkaz nie może być czytany w cyklu zapisującym wynik działania poprzedniego rozkazu.

To o czym czytałeś tyczy się tylko niektórych instrukcji modyfikujących rejestry, w których owa modyfikacja następuje podczas czytania opcode'u następnego rozkazu. Np. lda #0 w pierwszym cyklu czyta opcode, w drugim operand, który jest ładowany do akumulatora właśnie w tym trzecim cyklu, w którym czytany jest opcode następnego rozkazu.

415

(88 odpowiedzi, napisanych Bałagan)

@Jacques z Flimbo prace trwają - pełnowymiarowy projekt jest na tyle trudny, że czeka na ukończenie dość silnego narzędzia, które go "uciągnie".
@Mq Ale to byłoby dobre. Sensowny monitor to teraz moja największa bolączka.

416

(88 odpowiedzi, napisanych Bałagan)

A gdyby jakiś odpowiednik "FujiNet" dla ST?
No jest Netusbee, ale to kabel a nie wifi i zapewnia bardzo cienką warstwę - bardzo dużo trzeba oprogramować po stronie ST, przez co cierpią transfery.

417

(49 odpowiedzi, napisanych Konsole)

Widać emulator emulatorem, a sprzęt sprzętem (tak jak na Lynksie). Ale jest już Dragonfly, to rozruszamy tę platformę, trzeba tylko trochę czasu i wysiłku.
Jeśli o mnie chodzi to chętnie wziąłbym na tapetę konsolkę z kartem, żeby to rozgryźć, ale do SV mam już grafik zajęty. Ale na drugie SV tego roku to kto wie? ;)

418

(49 odpowiedzi, napisanych Konsole)

Nawet chyba nie trzeba przepisywać tego na dasm. Trzeba przeorganizować te źródło, żeby mads wygenerował z tego surowy obraz cartridża, czyli bez żadnych nagłówków i od adresu $8000 (opcjonalnie madsem można wygenerować też header). Upewnić się, że program używa tylko ramu dostępnego w konsoli. Potem podpisać obraz za pomocą 7800sign. Trochę roboty jest i potrzebny jest ktoś kto już takie rzeczy ogarnia. Ja niestety w praktyce się mało znam. Ale rzecz jest do ogarnięcia.

419

(25 odpowiedzi, napisanych Programowanie - 16/32bit)

Chyba raczej nieskończenie wiele fps ;)

420

(15 odpowiedzi, napisanych Konsole)

Tutaj widać jakie Maria ma możliwości. Są tylko po prostu trudne do wykrzesania. Zwyczajnie brakuje czasu CPU żeby wygenerować te wszystkie fajne display listy i brakuje RAMu żeby je pomieścić.

Jacques napisał/a:

Ale poza tym nie widzę powodu by popadać w paranoję jak Chuck z Better Caul Saul (ktoś kojarzy)? ;)

Mi się skojarzyło już w poście 27 :)

422

(11 odpowiedzi, napisanych Konsole)

Skoro mamy dość standardowego peceta, który nazywa się Atari, to pytanie "ale czy to jeszcze Atari?" traci rację bytu, a przynajmniej mocno zmienia znaczenie :)

423

(3 odpowiedzi, napisanych Fabryka - 8bit)

Dużo fajnych sprzętów teraz się tworzy do małego atari, a ja szukam właśnie czegoś na SIO z kartami SD, żeby operować na obrazach ATR. Najlepiej właśnie nie microsd, tylko dużymi, bo chcę wykorzystać do tego kartę FlashAir. Ciekawi mnie zatem, czy jak taki napęd otworzy plik ATR, to kiedy go zamyka, żeby było możliwe podmienienie z zewnątrz zawartości. Da się to jakoś łatwo wymusić?

424

(55 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

O... nie myślałem, że pięćsetki były aż tak popularne.

425

(17 odpowiedzi, napisanych Software, Gry - 16/32bit)

@Cyprian: O Paaanie... CosmosEx to dla mnie jednak za duży kombajn jak na razie :)

@sqward: Tego nie widziałem. Zabawy z curlem wyglądają bardzo fajnie i 200 kB/s to nie tragedia. Podoba mi się. Dobra, jak dojdę do momentu kiedy coś naprawdę będę developował to zobaczę jak żonglowanie kartami wygląda w praktyce i wtedy podejmę decyzję. Póki co Atari ST + Ultrasatan to wystarczający wydatek jak na teraz.
Dzięki wszystkim za pomoc!