1,076

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

Świetne. A co to są te cyferki wyświetlające się po Connecting... ?

1,077

(10,041 odpowiedzi, napisanych Bałagan)

"Podnieśliśmy ceny paliwa, ponieważ wzrosły koszty transportu paliwa." :)

1,078

(24 odpowiedzi, napisanych Zloty)

Dziękuję Organizatorom za świetne party, Koncertmistrzom za koncert i Współuczestnikom za towarzystwo. Improwizacje pokoncertowe Pinokia i Bociana wyszły wprost koncertowo! Film z maszyny Nir Dary robi niesamowite wrażenie. Gry na compo (Time Pilot mistrz!), muzyka na compo (Prodigy mistrz!), grafiki na compo (Jogin mistrz!). Atomosfera nie do opisania! Jeszcze raz dziękuję i życzę organizatorom, żeby zorganizowali następne party za rok :)

http://atarionline.pl/v01/index.php?sub … zin=Bajtek

1,080

(80 odpowiedzi, napisanych Różne)

Ale ładne nagrody.

1,081

(323 odpowiedzi, napisanych Zloty)

2044

1,082

(71 odpowiedzi, napisanych Zloty)

Śratari to hinduskia wersja Atari.

@Vascoo: W instrukcji do Madsa są te dyrektywy (RUN i INI) wymienione, ale nie są opisane. Wygląda to więc na zwykłe przeoczenie.

1,084

(34 odpowiedzi, napisanych Programowanie - 8 bit)

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

1,085

(34 odpowiedzi, napisanych Programowanie - 8 bit)

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.

1,086

(34 odpowiedzi, napisanych Programowanie - 8 bit)

koala napisał/a:

Nawet jakby rejestr PortB był W-only  to IMO także by działał taki zapis, R/W tutaj nic nie zmienia, ważne że jest W:)

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ć.

Edit: Milcząco zakładacie, że konfiguracja ustalona przez OS podczas RESET ciągle obowiązuje.

1,087

(34 odpowiedzi, napisanych Programowanie - 8 bit)

Akurat zapis do PORTB SDX-a nie wyłoży, bo  i tak SIO ładuje dane do bufora SIO po czym przerzuca dane do pamięci (nawet jeśli używany jest ramdysk, to po powrocie z SIO odtwarzany jest PORTB). Ale w PORTB są nie tylko bity od konfiguracji extramu - są też od OS-a, BASIC-a, cartridge-a i SELF-TEST-u. Skoro zamierza się używać extramu, to może należałoby pozostawić resztę bitów w spokoju, bo nie wiadomo jaki loader ładuje program?  Może akurat jest pod OS ROM-em, w MAPRAM-ie albo w ROM-ie carta XEGS (tak, wiem że to karkołomna sztuczka i że _do_tej_pory_nikt_takiego_nie_zrobił_)? Spróbujcie łaskawie spojrzeć może nieco bardziej perspektywicznie.

Edit: Warto też pamiętać o priorytetach okien MEMAC w VBXE/FX i extram. Zapis do PORTB może okazać się bardzo nieskuteczny.

1,088

(34 odpowiedzi, napisanych Programowanie - 8 bit)

xxl napisał/a:

najprosciej
org $d3x1
.byte bank
org $4000
dane

Żeby być ścisłym:

org %11010011xxxxxx01
.byte bank
org $4000
dane

:P

Atariki http://atariki.krap.pl/index.php/Binarny_plik_DOSu mówi, że to cecha DOS XL i SpartaDOS (X siłą rzeczy też).

Edit: Czyli może to pomysł ICD?

1,090

(34 odpowiedzi, napisanych Programowanie - 8 bit)

Odradzam bezpośrednie adresowanie PORTB za pomocą bloku pliku, bo:
1. Nie masz pewności czy loader nie jest pod romem/w extramie (dowolny loader/sdx/dos/xbios).
2. Nie wiadomo czy nie manipuluje extramem.
3. Nie wiesz jakie jest zainstalowane rozszerzenie (PORTB/Axlon/VBXE).
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,091

(421 odpowiedzi, napisanych Fabryka - 8bit)

@pin: Dodatek zawsze możesz wyrwać :)
@xxl: Czy będzie tam omówienie idei stojących za xBIOSem czy analogicznie jak w przypadku opisu nielegali - opis funkcji z przykładami użycia? Może dodałbyś tam coś więcej niż jest na stronie?

Na pewno? Pamiętam, że DOS 2.5 z CP (od Chaosa) nie uruchamiał programu kiedy nie było w nim bloku RUN ($2E0).

Edit: Czy odpalanie programu bez RUN to nie jest pomysł DOS XL?

Już wiesz, ale dla potomności:

  blk dos $2000
  ...

  run $480
  ini $2000

  blk sparta $480
  jmp entry

  blk reloc main
entry:
  ...

I taka sztuczka załatwia sprawę, bo SDX faktycznie jeśli nie ma bloku RUN próbuje odpalić program od pierwszego załadowanego bloku (to pewnie jakaś zgodność z innymi DOS-ami).

Po bloku nierelokowalnym testującym DOS-a brakuje bloku init:

DOSVEC = $a

                blk dos $2000       /* że niby tak kulturalnie niezależnie od MEMLO */
                lda $0700       /* word $0700 == "SD"
                cmp #'S'
                bne no_sdx
                rts

no_sdx           /* (... procedura wyświetlająca komunikat graficzny ...) */
                jmp (DOSVEC)

                ini $2000

                blk reloc main

Proponuję też po wyświetleniu komunikatu o braku SDX wrócić do systemu przez DOSVEC.

Edit: I dość elegancko będzie blok nierelokowalny rozpocząć przez BLK DOS zamiast ORG.

1,095

(118 odpowiedzi, napisanych Programowanie - 8 bit)

Taki kod:

  blk reloc main
table:
?first .word 0
?last .word 0

table2:
  .byte [table.?last-table.?first]/4

generuje mi: "address relocation overload" !
Oficjalna dokumentacja (w historii) mówi: "błąd 'Addres relocation overload' wystąpi teraz tylko gdy wyrażenie będzie dotyczyć więcej niż jednej etykiety relokowalnej, poprzednio każde wyrażenie z udziałem etykiety relokowalnej powodowało wyświetlenie tego komunikatu błędu".
Ale jaki jest właściwie problem z etykietami relokowalnymi _w_jednym_bloku_? Bo ja rozumiem, gdybyśmy mieli etykietki w róznych blokach - wtedy nie wiadomo jaki będzie między nimi dystans, ale w przypadku jednego bloku wszystko przecież wiadomo...
Dałoby się to naprawić?

Edit: A druga choć związana z poprzednim przypadkiem rzecz jest taka - podobny kod;

  blk reloc main
table:
?first .word 0
?last .word 0
?len = [?last-?first]/4

table2:
  .byte table.?len

się kompiluje poprawnie, ale markuje table2 jako _adres_ do relokacji. A to już jest bardzo nieładne, bo:
1. w table2 mam bajt, a loader SDX zmodyfikuje mi tam 2 bajty,
2. table.?len jest jednak interwałem, który da się określić na etapie kompilacji i on się nie zmieni - nie powinien być relokowalny.
Kod wynikowy wygląda tak:

fe ff 01 00 00 00 05 00 
00 00 00 00 00 

fd ff 01 00 00 
fe 01
04 
fc

Edit2: Co myślałbyś o:
1. generowaniu "Addres relocation overload" tylko przy obliczeniach używających etykiet leżących w różnych blokach relokowalnych,
2. rzucaniu warninga kiedy do obliczeń używane są etykiety relokowalne - user ma być świadom tego co robi, a jak user sobie chce zaszkodzić, to niech sobie szkodzi :)

1,096

(47 odpowiedzi, napisanych Programowanie - 8 bit)

Były też użyte w playerze do CMC. Wszystko działało dopóki ludzie nie pomontowali sobie dodatkowych POKEY-ów...

1,097

(421 odpowiedzi, napisanych Fabryka - 8bit)

Orzeł wylądował! Książka super! Dzięki Duddie.

1,098

(323 odpowiedzi, napisanych Zloty)

@MWK: Się zrobi!
A ogólnie to wypadałoby się spotkać :) Wiosna przyszła...

1,099

(421 odpowiedzi, napisanych Fabryka - 8bit)

Ja poproszę sztukę.

1,100

(107 odpowiedzi, napisanych Programowanie - 8 bit)

Racja. Czyli mamy Rambo, CompyShop i częściowy CompyShop :).