2,176

(14 odpowiedzi, napisanych Programowanie - 8 bit)

W przypadku braku symbolu zwraca zero.

2,177

(14 odpowiedzi, napisanych Programowanie - 8 bit)

Kod zwracający adres dowolnego symbolu:

fr0 = $d4
FSYMBOL = $7eb
pla
pla
tax
pla
jsr FSYMBOL
sta fr0
stx fr0+1
rts

oczywiście symbol MUSI istnieć, MUSI być w pamięci podstawowej, bo ignorowane są wszystkie błędy.
Wywołanie z BASICa za pomocą:

X=USR(ADR("kodprogramu"),ADR("CURDEV  "))

Edit: Załącznik

2,178

(14 odpowiedzi, napisanych Programowanie - 8 bit)

Heh. Cały ten kawał kodu, co spłodziłem można zawrzeć jednym prostym XIO: http://atariki.krap.pl/index.php/GET_CURRENT_DIRECTORY (niestety nie da się użyć z BASICa).

Okazało się natomiast, że problem pina nie polega na zmianie bieżącego KATALOGU, ale że chciałby on jakoś zmienić bieżący DYSK. A do tego nie ma funkcji... Może w przyszłości dałoby się to robić XIO 44 z jakimś parametrem w icaux?
A tymczasem można to chyba osiągnąć za pomocą:

lda #numer dysku
sta CURDEV

2,179

(14 odpowiedzi, napisanych Programowanie - 8 bit)

XIO 44,#n,0,0,"Dx:path"

?

2,180

(42 odpowiedzi, napisanych Fabryka - 8bit)

Piękny.

2,181

(14 odpowiedzi, napisanych Programowanie - 8 bit)

U_SFAIL smb 'U_SFAIL'
U_XFAIL smb 'U_XFAIL'
CURDEV smb 'CURDEV'
PATH = $7a0

  lda CURDEV
  and #$f
  ora #'A'
  sta cwd
  lda #<?err
  ldx #>?err
  jsr U_SFAIL
  lda #<cwd
  ldx #>cwd
  sta FILE_P
  stx FILE_P+1
  jsr GETCWD
  jsr U_XFAIL
  ldy #-1
?loop:
  iny
  lda PATH,y
  sta cwd+2,y
  bne ?loop
?err:
  rts
cwd .db '?:',0
  .ds 63

W cwd masz ścieżkę z nazwą urządzenia.

2,182

(57 odpowiedzi, napisanych Fabryka - 8bit)

Ja również poproszę IOBoard i SimpleStereo.

2,183

(4 odpowiedzi, napisanych Software, Gry - 8bit)

U Ciebie to jednak czas płynie w drugą stronę...

Edit: A w takim razie może powinieneś zaczynać od postu w stylu: "Wielkie dzięki za pomoc - problem okazał się trywialny, a z Waszą pomocą został rozwiązany", po czym następowałyby nasze posty wyrażające uprzejme zainteresowanie o co właściwie chodziło.

2,184

(4 odpowiedzi, napisanych Software, Gry - 8bit)

A co się dzieje Pin? Nic nie napisałeś - może to simdrv (oprogramowanie)?

2,185

(61 odpowiedzi, napisanych Fabryka - 8bit)

No kod by można wsadzić (369 bajtów). Bo co do ekranu (200 bajtów) i dlisty (86 bajtów) to już nie ma jak zagwarantować, żeby zawsze włączony był ten sam bank extramu (dla ANTICa).

Edit: Co do sterownika to nie wiem - możliwe, że wystarczy zmienić .COM na .SYS, ale to przecież nie jest sterownik tylko jakaś popierdółka.

2,186

(61 odpowiedzi, napisanych Fabryka - 8bit)

No z VBXE nie działa :) W kolejnej wersji będzie wyłączanie XDLISTy.

Edit: A w ogóle to od jakiegoś czasu jest dostępna wersja 1.06.
Z /D ilość_sekund podaje się okres bezczynności ale tylko w SDX.

A ja styropiany.

2,188

(163 odpowiedzi, napisanych Fabryka - 8bit)

Leniwy ziom - dodajmy. Bardzo.

2,189

(47 odpowiedzi, napisanych Scena - 16/32bit)

Genialny pomysł! Biorę 3 sztuki :D Pin - będziesz bogaty!

2,190

(47 odpowiedzi, napisanych Scena - 16/32bit)

A kojarzycie sarkofag?

2,191

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Raczej:

ldy end_adr_lo
lda end_adr_hi
cpy load_adr_lo
sbc load_adr_hi
bcs ladujemy_dalej_URAAaa

2,192

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Marek Konopka napisał/a:

Jeśli odnosisz się do mojej wypowiedzi, to z niej nie wynikało, że sygnatura ($FF FF) może występować tylko w pierwszym segmencie - wręcz przeciwnie.

Nie odnoszę się - przypadkowe podobieństwo niezamierzone :)

Marek Konopka napisał/a:

To jedynie Nasze założenie powodujące, że taki plik zostałby prawidłowo załadowany.

Racja.

2,193

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Komplikujesz. Jeśli sygnatura jest opcjonalna to oznacza, że może istnieć plik, w którym każdy blok ma sygnaturę. Jeśli $FF$FF oznacza sygnaturę bloku po której następuje adres początku i adres końca, to blok z adresem początku $FFFF ale bez sygnatury jest po prostu błędnie wygenerowany.

Edit: Nic mi natomiat nie wiadomo o tym, że sygnatura ma występować tylko w pierwszym bloku, a w następnym jej nie ma. Nawet w Atariki pisze, że w pierwszym jest obowiązkowa, a w kolejnych opcjonalna.

Plik taki ma strukturę blokową, tzn. składa się z jednego, bądź więcej bloków, czy też segmentów, przy czym pierwszy z nich musi zaczynać się sygnaturą w postaci słowa $FFFF. Pozostałe bloki mogą zawierać tę sygnaturę, ale nie jest to warunek konieczny - wszystkie natomiast muszą zawierać nagłówek.

Edit 2: usystematyzowanie pojęć

2,194

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

No to akurat jest chyba proste :) Sygnatura jest wymagana w pierwszym bloku pliku - jeśli jej nie ma DOS raportuje error 152 (not binary format). Kolejne bloki MOGĄ jej nie mieć. Ale MOGĄ mieć więc nie ma problemu.

2,195

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

Jednym z ograniczeń standardowego formatu pliku binarnego jest to, że bloki ładują się pod STAŁY adres. A w OS istnieje przecież coś takiego, jak MEMLO które jest olewane przez DOS podczas ładowania pliku binarnego (no AtariDOS chyba sprawdza czy nie próbuje się go nadpisać). Dopiero Sparta potrafi sobie blok załadować na MEMLO, ale ma już zupełnie inny format pliku niekompatybilny z resztą DOSów.
xBIOS xxla ma tę zaletę,  że zajmuje pamięć między $700..$BFF i wiadomo gdzie na 100% się nie ładować. I ta granica jest STAŁA (póki co ;>).
Założenie, że "porządny" DOS zajmuje pamięć poniżej $2000 jest sztuczne i jest konsekwencją stosowania formatu binarnego - gdyby chcieć na serio traktować MEMLO (a DOS nie ma do tego żadnego supportu) to trzeba by pisać programy relokowalne i własnoręcznie sobie je relokować. Inną opcją jest wykorzystanie ACX i wykrywanie czy mamy do czynienia z XL/XE oraz użycie relokatora, który jest UKRYTY w systemie i używany jedynie do ściągania driverów z urządzeń SIO. Dlaczego DOS z tego nie korzysta? Do w serii 400/800 nie ma? Zawsze można było rozpoznać rodzaj OSu i go sobie doładować.

@MarekKonopka: Przecież można załadować blok pod $FFFF - taki blok wygląda np. tak:

$FF $FF $FF $FF $FF $FF dana

Wiele loaderów pozwoli na adres końca mniejszy niż początkowy, co pozwoli od razu załadować dane na zpg, ale załóżmy że jest to niepolityczne bo a nuż w przyszłości Atari będzie mieć liniową pamięć poza 64k - kończmy więc na $FFFF.

Edit: Innym ograniczceniem podczas korzystania z extramu zgodnego z rambo jest nie umieszczenie pamięci ekranu/dlisty w $4000..$7FFF. Kolejnym jest cartridge z DOSem $A000..$BFFF. Obszar od $C000..$FFFF jest niedostępny, no bo to ROM a DOS nie potrafi tam niczego załadować. Więc aby ładować program w zgodzie ze sztuką należałoby używać w pliku binarnym dwóch obszarów:
- $2000..$3FFF,
- $8000..$9FFF (odpada kiedy mam karta 16K).
16K (8K przy bardziej wymagającym karcie) - hmmmm ciekawe, który z projektantów gier się tym przejmował?

2,196

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Jeśli masz na myśli tę chmurę, to zbija się ją "całuskiem".

2,197

(66 odpowiedzi, napisanych Bałagan)

Mnie się też "jeż mode" włącza jak widzę mistrzów świata (z jednym takim pracowałem w firmie 6 lat). Miał jeszcze kilka innych nieprzyjemnych właściwości jak donosicielstwo, ukrywanie własnych błędów i całkowita nieumiejętność autoweryfikacji. Szefowie hołdują często zasadzie, że "człowiek z zewnątrz jest ZAWSZE lepszym specjalistą" niedoceniając ludzi, których mają u siebie.
Jeśli idzie o wizualne projektowanie - dawno temu Intel (i pewnie nie tylko) wypuszczał kity do takiego klockowego projektowania sterowników na bazie '51. Można było sobie tam wyklikać różne rzeczy, tylko potem okazywało się, że prosta aplikacja z pomiarem temperatury i transmisją RS-232 (co można było bez problemu zrobić na 8-nogowym Microchipie z 512 słowami wbudowanego ROM) i za znacznie niższą cenę wymagała 64K zewnętrznego ROMu i kosmicznego mcu. Nie spotkałem się wtedy żeby ktoś poważnie takie narzędzia traktował. Chyba tylko w celach edukacyjnych czy szybkiego prototypowania. Ale być może czas zrobił swoje.
Ogólnie zgadzam się, że cena tego proca może i jest wysoka, ale to przecież zależy od rynku na którym zostanie zastosowany. Może tam gdzie cena elementów nie jest istotnym składnikiem, a raczej czas poświęcony na napisanie i przetestowanie oprogramowania odnalazłby się doskonale. Cena to tylko cena. W playerach do mp3 pewnie za wysoka, w urządzeniach medycznych czy sterownikach procesów przemysłowych być może pomijalna.
Rynek na pewno zweryfikuje firmę Gryf bardzo szybko - póki co od 2 lat sobie radzą, a ponoć 2 lata to dobry moment na pierwszy kryzys.
Dokąd to prowadzi? Do gigabajtów RAMu i narzędzi w których "hello world" zajmuje 1mb ram :D.

2,198

(66 odpowiedzi, napisanych Bałagan)

@seban: Na to co piszą dziennikarze patrzymy przecież przez palce, ponieważ najczęściej się po prostu nie znają a to, co usłyszą od przedstawiciela firmy zostaje zazwyczaj przekręcone (na onecie np. pisali, że w kosmosie nie działa grawitacja).
To co robi Evatronix jest rzeczywiście imponujące, ale spójrz na rok powstania, zarząd i inne tego typu "parametry". Powaga tytułów naukowych też robi swoje. I bardzo (naprawdę bardzo) cieszy mnie to, że w Polsce robi się świetne rzeczy polskimi rękami (nie tylko w Evatronix - w tym miejscu wielki respect).
Co robiłbyś mając magistra, v-ce mistrzostwo świata w programowaniu w Javie i taką konkurencję na rynku? Czy Gryf zakpił z innych? Patrząc na nagłówek newsa - tak. To ruch obliczony pewnie na to, żeby przyciągnąć uwagę.
Moim zdaniem jest to mała (może niejednoosobowa, ale ciągle niewielka) firma za którą stoi człowiek z jakimś pomysłem i chcący coś osiągnąć. Bez kapitału czy tytułów, ale z namacalnymi efektami uwiarygodniającymi jego działania (podejrzewam, że można się z nim umówić na jakąś prezentację i naocznie przekonać czy to co mówi to prawda). Możliwe, że jakimś pomysłem byłoby gdyby facet zatrudnił się w korporacji i nawiązał najpierw kontakty, ściągnął inwestorów i dopiero wystartował - to tylko jeden z modeli i do tego niekoniecznie najlepszy. Zarząd, marketing, pieniądze - to wszystko jeszcze jest przed nimi.
Co do stopnia komplikacji układu - wszystko jest proste, jak się wie. Wiadomo, że wykorzystywanie czyichś rozwiązań i na ich bazie przygotowywanie własnych jest dobre, bo dzięki temu nie kręcimy się ciągle w kółko. Ale przecież geniusz rozwiązania nie polega na przytłaczającym rozmiarze - genialne rozwiązania są często proste i zaskakujące użyciem czegoś co każdy zna w nowy nietypowy sposób. A pomysł ma całkiem niezły (choć jeśli polega tylko na przełożeniu 1:1 bajtkodu na kod maszynowy to zdaje się wystarczyłoby wziąć MIPSa co było w założeniach projektantów języka - ale nie polemizuję bo nie jestem v-ce mistrzem świata w programowaniu w Javie).
IMHO można byłoby chyba docenić czyjąś, nawet niewielką pracę. Deprecjonowanie osiągnięć spowoduje tylko to, że kolejny człowiek o niemałych umiejętnościach i potencjale utknie gdzieś w czeluściach korporacji na stanowisku nie odpowiadającym jego kompetencjom ;>.
Mnie tam nie razi, że nazwał projekt "Warszawa". Z "Uśmiechem" to już bym polemizował :D

2,199

(66 odpowiedzi, napisanych Bałagan)

A co musiałaby zaprezentować firma, żebyście uznali że warto zainwestować w kupno jej produktów i że za pół roku ich procesor nie będzie deprecated (wystarczy chyba podpisać odpowiednią umowę warującą support na 10 lat z restrykcyjnymi karami)? Ja rozumiem, że facet na stronie oferuje prócz tego jeszcze software (różnorodny branżowo) i gry. I że na zdjęciu jest w sweterku i marynarce.
Możliwe, że jedynym rozsądnym krokiem dla Polski jest wycofanie się z poszanowania prawa autorskiego i patentów, ustalenie kursu złotówki do dolara na poziomie 1000:1, ściągnięcie producentów z całego świata i chłonięcie obcych technologii przez powiedzmy 30 lat (model chiński), przy równoległej produkcji podróbek, udawaniu że się tępi firmy naruszające prawo itd. Za 30 lat będzie można wprowadzić restrykcyjne prawo chroniące Twórców, bo będzie w kraju własny kapitał na takim poziomie, że będzie można założyć Narodowe Półprzewodniki, do polskiej produkcji świat już będzie przyzwyczajony i nikt nie będzie mówił, że firma za pół roku będzie robić co innego.
Niemcy za to pytają: "a co w Pana konstrukcji może być niemieckiego?"...

2,200

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

@electron: Biblioteka dla SIO+turbo (np. US). Dzięki temu kod obsługi FSa w pamięci Atari jest optymalny, bo nie uwzględnia miliona wariantów dla urządzeń, których nie masz nawet podłączonych. Wiadomo, że jeśli będziesz chciał odpalić taką grę z innego urządzenia, to będziesz musiał mieć załadowaną bibliotekę dla tego urządzenia. Ale to co robi xxl to nie jest DOS, ale biblioteka do pisania gier. Ma być jak najmniejsza, ale umożliwiać wykorzystanie struktur FS bez DOSa.
Co do xBIOS to wersja xxla obsługuje Atari DOSy 1.x, 2.x i MyDOS DD (kompatybilny z DOS 2). Ilość sektorów (707/708) nie jest istotna, bo dysk jest formatowany MyDOSem, a nie biblioteką xBIOS. Powtórzę - xxl nie robi DOSa a bibliotekę do wykorzystania w grach wymagających maksimum podstawowej pamięci.

Edit: adresat