26

tak samo milczaco przyjmujemy ze adres pod ktory kierujemy nasz program podczas kompilacji jest wolny :)

wspominasz o fikusnych konfiguracjach MEMAC karty VBXE, o przekonfigurowanym PIA, czy Ty namawiasz userow do sprawdzania konfiguracji i ewentualnej rekoniguracji rejestrow podczas ladowania plikow binarnych?

moze rowniez nalezaloby wstrzymac sie przed wskazaniem adresu kompilacji wprost, bo przeciez moze byc juz ponizej MEMLO ;-) ?

ja bym chyba wybral opcje nie uzywania loadera ktory nie daje rady ;-)

http://atari.pl/hsc/ad.php?i=1.

27

Co do loadera zgodziłbym się, bo uwzględnianie wszystkich możliwości prowadzi do paranoicznej polityki pisania programów. Chciałem wskazać potencjalne zagrożenia, bo piszecie o pewności zapisu do PORTB i to z poziomu loadera (czyli blokiem pliku wykonywalnego), a programista nie może zakładać że jego program zawsze będzie ładowany z Chaos Loadera po SIO z jednostronnej dyskietki o gęstości SD.
Nawet stawiając się w pozycji programisty sprzed 20 lat który nie mógł znać niuansów VBXE czy innych rozszerzeń, których wtedy zwyczajnie nie było (należy więc założyć że cokolwiek będzie z nowych rozszerzeń korzystać zrobi to tak, żeby stary program mógł poprawnie pracować), warto by moim zdaniem spojrzeć na rzeczy, które nawet 20 lat temu były. Mapping of the Atari zdaje się wskazuje że można założyć obszar $2000 wzwyż jako bezpieczny (nie pamiętam co mówi o włączonym BASIC-u). Ja rozumiem, że wielu programistów używało wskazywanych przez Was technik ładowania danych do banków extramu, ale te techniki niekoniecznie są dobrymi praktykami.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

28

booty czy loadery z kartow lykaja bez problemu.
jak narazie to okazuje sie, ze tylko jeden "loader" sobie z tym nie radzi.

http://atari.pl/hsc/ad.php?i=1.

29

Ja w Unshaped (jedyne moje demo używające dodatkowej pamięci) sprawdzam jeden bank na zgodność ze 130XE (czyli PORTB).
Jeśli jest ok to ładuję dane obok banku, a potem na inicie kopiuję do banku.
Nie trwa to tyle, co z kasety - ludzie raczej marudzili, że demo długo trwa a nie długo się ładuje :).
Generalnie staram się minimalizować ilość bloków w binarce.

A co do technik programowania - osobiście sprawdzam binarki w SDX i ChaosLoaderze. Jeśli jest na obu ok - to puszczam binarkę w obieg (i zwykle jest ok).
Wszystkie mechanizmy nieznane mi (czytaj: to, czego nie mam w swoim XE) w momencie pisania ignoruję i się nimi po ludzku nie przejmuję. Jak ktoś instaluje jakiegoś dziwoląga w swoim sprzęcie to sam sobie jest winien. Taki jest mój punkt widzenia.

30

Bober napisał/a:

Wszystkie mechanizmy nieznane mi (czytaj: to, czego nie mam w swoim XE) w momencie pisania ignoruję i się nimi po ludzku nie przejmuję.

I tu trafiłeś w sedno... ;) Więksozśc "koderów" nie ma Atari i go nie używa, tylko są "Atarowcami" z nazwy...
Co do Sparty i xBIOSa - proszę, nie zmuszajcie innych do ich używania. Ja po prostu doskonale radzę sobie bez nich i ten promil, który u mnie nie pójdzie olewam strumieniem ciepłym łukowatym...

Sikor umarł...

31 Ostatnio edytowany przez Pin (2017-05-01 20:05:19)

xxl napisał/a:

ze tylko jeden "loader" sobie z tym nie radzi.

tak jak xb ze side w znanej Ci doskonale i najczęściej używanej konfiguracji loadera.

Bober napisał/a:

Jeśli jest ok to ładuję dane obok banku, a potem na inicie kopiuję do banku.
Nie trwa to tyle, co z kasety - ludzie raczej marudzili, że demo długo trwa a nie długo się ładuje :)

i to zadziała wszędzie. A ładuje się bardzo szybko (jak nie używam do tego sio2sd) :)


EEEDDIITT:
=============================================================================

wychodzę z tej obory, nie chce mi się dalej o tym gadać. EOT

Kontakt: pin@usdk.pl

32

Pin napisał/a:

tak jak xb ze side w znanej Ci doskonale i najczęściej używanej konfiguracji loadera.

nie jest to prawda. loader w domyslnej konfiguracja xB zadziala z SIDE. binarka natomiast moze rekonfigurowac xB dowolnie, moze skonfigurowac tak aby mozna ja bylo zaladowac z SIO albo np. z RAMDysku. jesli masz klopot z SIDE to nie jest to wina xB.

http://atari.pl/hsc/ad.php?i=1.

33

mono napisał/a:

Polecałbym:
1. Detekcję rodzaju pamięci i dostępnych banków.
2. Ładowanie danych do pamięci.
3. Przepisywanie pamięci w miejsce docelowe w bloku init.

+1

mono napisał/a:

Pewności niestety nie ma zanim nie sprawdzi się rejestru kierunku danych (ale kto by się o to troszczył?). Nie testowałem zachowania PORTB ustawionego do odczytu, ale intuicyjnie czuję, że wyjścia będą albo w stanie HI (czyli wartość nieustalona), albo 1 (czyi $FF) niezależnie od tego co się do PORTB wpisze. Swoją drogą warto by to sprawdzić.

PORTB przekonfigurowany na wejście zachowuje się jak wyjście z wartością 1.

https://www.youtube.com/watch?v=jofNR_WkoCE

34

@Fox: Dzięki. Pozwoliłem sobie uzupełnić http://atariki.krap.pl/index.php/Rejestry_PIA#PORTB

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

35

SDX i PORTB to już było wałkowane

http://www.atari.org.pl/forum/viewtopic.php?id=8682

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C