1,176

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

Zapomniałeś jeszcze do DOS-ie XE. ;) Ale czy ktoś go używa? Niemniej istnieje, więc i jego należy uwzględnić. Na szczęście separatorem katalogów również jest ">".

Aha, DOS XE nie nadaje sie do użycia w twardym dyskiem, chociaż jego file system obsługuje "duże" dyski (nie paamiętam, czy 16 MB czy mniej).

1,177

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

Tak, ale napisałeś to jako przypuszczenie, a ja przejrzyście naświetliłem temat. ;)

Z QA problem rozwiążałem kategorycznie - nie używam. :D Do Panthera z koleji naisałem krótki "skrypt" odpalany zamiast programu:

cd b:applspanther
x b:applspanther

Z tym, ze chyba kazdy w zmiennej 'path' w Sparcie ma biezacy katalog...

Katalog bieżący zawsze jest sprawdzany na końcu. Chyba, że się go dołączy gdzieś w środku lub na początku PATH. (W przeciwieństwie do takiego za przeproszeniem MS-DOS-a, gdzie katalog bieżący sprawdzany jest przed PATH.)

1,178

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

SpartaDOS X ma mechanizm zwany szlakiem poszukiwań. Jest to zmienna środowiskowa PATH, w której zapisane są katalogi, w jakich szukany jest otwierany plik (nie koniecznie wykonywalny). Polecenie OPEN #1,4+32,0,"D:twojplik.dat" spowoduje przeszukanie wszystkich katalogów zawartych w zmiennej PATH (od pierwszego do ostatniego), a na końcu katalogu bierzącego i otwarcie podanego pliku z katalogu, w którym został znaleziony jako pierwszy.

Np.
PATH=c:dos;b:programy;e:gry
Plik twojplik.dat znajduje się w katalogach: b:programy, e:gry i w katalogu bieżącym, czyli tym, w którym zajdowałeś się w momencie uruchomienia programu (np. a:moje).
Wykonanie powyższego OPEN spowoduje otwarcie pliku twojplik.dat z katalogu b:programy.

Oczywiście nie musi to być wcale ten plik, o który Ci chodziło, bo program, który go otwiera był uruchomiony przez polecenie np. c:dostoolstwojplik. Aby sprawdzić pod SpartaDOS X (tylko ta wersja!) z jakiego katalogu został uruchomiony plik należy wykonać poniższy kod:

; Przepisanie urządzenia, ścieżki i nazwy uruchomionego programu
; pod adres wskazany przez rejestry AX

auxptr =   $15
device =   $0761
name   =   $0762
path   =   $07A0

g.path sta auxptr
       stx auxptr+1
       ldy #0
       lda #'D
       sta (auxptr),y
       iny
       lda device       ; urządzenie z jakiego został uruchomiony program
       ora #$30         ; przerabiamy na jego nr ;)
       sta (auxptr),y
       iny
       lda #':
       sta (auxptr),y   ; mamy już Dn:

       iny              ; teraz przepisujemy ścieżkę
       lda path-3,y
       sta (auxptr),y
       bne *-6
       cpy #3           ; jeśli program uruchomiony z bieżącego katalogu,
       beq ?skp         ; to brak ścieżki
       lda path-4,y     ; jeśli z wykorzystaniem szlaku poszukiwań,
       jsr ckspec       ; to brak '' lub '>' na końcu ścieżki
       beq ?skp
       lda #'>
       sta (auxptr),y

?skp   ldx #-1          ; przepisujemy nazwę
?cn    inx
       cpx #8
       bcs ?id
       jsr ?cc          ; przenosimy znak nazwy
       bne ?cn

?id    lda #'.          ; kropka rozdzielająca nazwę od rozszerzenia
       sta (auxptr),y
       iny

       ldx #8
?ce    inx
       cpx #12
       bcs ?in
       jsr ?cc
       bne ?ce

?in    lda #0
       sta (auxptr),y
       rts

?cc    lda name,x
       sta (auxptr),y
       iny
       cmp #$20         ; sprawdzamy, czy spacja (koniec nazwy)
       rts

ckspec cmp #'<
       beq *+8
       cmp #'>
       beq *+4
       cmp #'
       rts

Jak widać procedura nie robi nic szczególnego. Przepisuje tylko urządzenie, ścieżkę i nazwę pliku w formie strawnej dla OPEN. Wskaźnik auxptr może być umieszczony pod dowolnym adresem na stronie 0 ($15 jest dobrą lokalizacją nie kolidującą, ani z systemem, ani z ew. inymi zmiennymi pragramu).

Powyższa procedura jest lekką modyfikacją procki umieszczonej w Config Selectorze. Tam jest nieco krótsza, gdyż korzysta z paru procedur Sparty, który tu nie można użyć ze względu na ich "ruchomy" charakter ze względu na wersję.

O wiele łatwiej jest ustalić ścieżkę pod MyDOS-em, czy dyskową wersją SpartaDOS-u. Tak jak marok dobrze kombiuje, można skorzystać z adresu bufora kanału 0 CIO.

[ Dodano: 03.05.2005 00:23:15 ]
Lewis, QA jak i wszystkie "inteligentne" programy próbujące zgadnąć skąd zostały wczytane wykładają się pod SpartaDOS-em i MyDOS-em. To dlatego, że odczytują tylko numer urządzenia z DUNIT ($0301) i wstawiają go pomiędzy "D" a ":". ;) Pod MyDOS-em "Dn:" oznacza katalog główny dysku n, a pod Spartą katalog bieżący tego dysku.

Jeśli pod Spartą jesteś w katalogu D3:ZRODLA, w zmiennej PATH masz wstawiony katalog z QA, powiedzmy Twój D2:PROG, a katalogiem bieżącym dla dysku D2: będzie akurat D2:GNIOT, to QA będzie szukał pliku QA.SET w katalogu bieżącym dysku D2:, czyli D2:GNIOT.

Po MyDOS-em (drzewo katalogów takie samo jak w powyższym przykładzie ze Spartą), QA zawsze będzie szukało QA.SET w katalogu głównym dysku D2: i nie pomogą tu kombinacje z "CHDIR".

1,179

(11 odpowiedzi, napisanych Bałagan)

Gość nie sprofanował Atari. Po prostu wymienił procesor, dorzucił trochę pamięci, zamontował twardziela i CD-ROM (interfejs KMK/JŻ), wyprowadził na zewnątrz USB z SIO2IDE, z Atari 850 porzyczył interfejsy RS232 i Centronics), dołożył drugiego Pokeya na stereo i Covoksa. I gdzie tu profanacja. :twisted:

1,180

(11 odpowiedzi, napisanych Bałagan)

To jest klasyczny przykład wkładania do malucha silnika od Mercedesa. 8)

Myszka może i fajna, ale raczej nie ergonomiczna. ;)

1,181

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

W tablicy t_ nie odnajduje pozycji, gdzie wskazane bylyby banki zajmowane przez Ramdysk.

[...]

banki zajmowane sa "od tylu" tablicy bankow, a wiec nie mozna swobodnie dobierac bankow dla Ramdysku.

Dokładnie. Banki zajmowane są ZAWSZE od końca tablicy. Uwalnia to system od trzymania dwóch wartości: pierwszego wolnego banku i liczby wszystkich banków. Wystarczy tylko jedna - liczba dostępnych.

Nie sądzę, by swobodne dobieranie banków, było aż tak niezbędne. Wg mnie nie ma znaczenia w jakiej kolejności przełączane są banki jeśli przypisane sa im indeksy zamiast warości wpisywanych do PortB.

Otoz myslalem nad zrzuceniem odpowiedzialnosci na wyznaczenie bankow niedostepnych dla programu, na uzytkownika, poprzez odpowiednie przygotowanie pliku konfiguracyjnego, doczytywanego tuz po uruchomieni programu.

A co jak użyszkodnik zapomni o stworzeniu takiego pliku. :P Poza tym, nie jest to bezpieczne ze względu na ramdysk (nie tylko pod SDX; dotyczy to również MyDOS-a i DOS-a II+/D).

Wydaje mi się, że w SpartaDOS ma najlepiej rozwiązane zarządzanie dodatkową pamięcią ze wszystkich systemów atarowskich. Przede wszystkim nie musisz sprawdzać, czy i jakie rozszerzenie jest zamontowane oraz jakie wartości przełączają pamięć.

Przed powrotem do Sparty, nalezy rozumiem przywrocic tym samym zawartosc banku podstawowego (z tablicy t_, $FF zwykle).

Zauważ, że w mojej procedurze przed przełączeniem banku jest

lda portb
pha

a na końcu

pla
sta portb

To wystarczy, by nie martwić się o przywracanie na koniec właściwego banku. Oczywiście przechowywanie takich informacji na stosie jest tylko przykładem. Równie dobrze może to być strona zerowa lub dowolna komórka pamięci poza zakresem $4000-$7FFF, ale to chyba jasne. :D

Inna zawartosc banku podstawowego moze zaistniec w jakich okolicznosciach i czy wowczas istotnie bank $FF bedzie do dyspozycji uzytkownika?

Normalnie jest to $FF. Nigdy nie spotkałem się, by bank podstawowy był zmieniany, ale jak pod T_+4 wpiszesz co innego niż $FF, to to będzie bankiem podstawowym. Jednak nie polecam takich eksperymentów, bo np. Turbo Basic (używa pamięci pod ROM-em) i MAE (korzysta z dodatkowej pamięci) wieszają komputer. Reszta, która używa tylko pamięci podstawowej (nie miącha w PortB) działa.

1,182

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

W takiej sytuacji, czy program dzialajacy wg. ponizszego scenariusza ma szanse dzialac pod Sparta w trybie banked?:

1. Zapamietanie aktualnie aktywnego pod Sparta banku.

SpartaDOS zawsze przed oddaniem programowi sterowania włącza bank podstawowy (PortB = $FF), więc nie zdążysz zanotować dodatkowego banku. 8)

2. Wybor banku wolnego i widzianego przez Sparte.
3. Wczytanie z urzadzenia zewn. danych bezposrednio do wybranego jak wyzej banku.

To da się zrobić, choć mogą być łatwe do obejścia problemy z różnymi wersjami SDX. Obecnie są dwie w użyciu: 4.20 (cartridge sprzedawany legalnie lub piracko w Polsce) i 4.22 (przywędrowała do nas w postaci pliku obrazu).

W Twoim przypadku różnica polega na różych adresach tablicy T_. W 4.20 jest to $0902, w 4.22 - $0904. Jej budowa jest następująca: ˇ 4 bajty - informacja o bankach w Atari 400/800, dla serii XL/XE są tam zera
ˇ 1 bajt - bank podstawowy (przeważnie $FF)
ˇ 1 bajt - 0 (nie znam znaczenia)
ˇ 1 bajt - bank, w którym Sparta trzyma swoje bebechy
ˇ 1 bajt - 0 (nie znam znaczenia)
ˇ 16 bajtów - maski przełączające banki
ˇ 1 bajt - maska bitów przełączających banki
Wyjaśnienia wymaga przedostania pozycja. Twórcy SpartaDOS-u wyszli z założenia, że ilość banków jest zawsze podzielna przez 4 (4, 8, 12, 16, 32 i 64), przy czym bity 2 i 3 PortB zawsze odpowiedziale są tylko i wyłącznie za przełączanie pamięci. Dlatego też, nie ma potrzeby sprawdzania dla jakiej ich kombiacji bank istnieje, bo istnieje dla każdej. Jeżeli istnieje %xxxx00xx, to na pewno obecne są również: %xxxx01xx, %xxxx10xx i %xxxx11xx.

Nie wszystkie bajty z tablicy masek są wykorzystywane w każdym systemie. Jeśli komputer ma 128 kB pamięci, to informacja o dodatkowych bankach zapisana jest w pierwszym bajcie, 192 kB - w dwóch, 256 kB - w trzech, 320 kB - w czterech, 576 kB - w ośmiu, 1088 kB - w szesnastu. Informację o ilości baków odczytasz spod adresu DPEEK(dosvec)+29. Jeśli SDX jest w trybie None lub Osram, to będzie tam liczba podzielna przez 4, jeśli Banked, to mniejsza o jeden, ponieważ Sparta po zajęciu dodatkowej pamięci zmniejsza jej dostępną ilość (to samo robi np. RAMDISK.SYS, sprawdź np.: RAMDISK.SYS I: 4 i zobacz ile zostanie wolnych banków). W moim przypadku (320 kB) w None i Osram jest tam 16, w Banked - 15.

Jak z tego korzystać? Najprościej ponumerować sobie banki od 0 do ilości dostępnych banków-1. Chcesz włączyć konkretny bank:

t_   =   $0902           ; (lub $0904, gdy SDX 4.22)
portb =  $D301

     lda portb           ; zapamiętujemy bieżący bank
     pha

     ldy newbank         ; nr banku (0 - liczba dostępych banków-1)
     tya                 ; obliczamy nr "grupy" banków
     lsr
     lsr
     tax

     tya                 ; obliczamy nr banku w "grupie"
     and #%00000011
     tay

     lda t_+8,x          ; "składamy" maskę bitową dla PortB
     ora bnkingrp,y
     eor portb
     and t_+24
     eor portb
     sta portb

     jsr doit            ; robimy co swoje na dodatkowej pamięci

     pla                 ; przywracamy pierwotny bank
     sta portb

     ...

bnkingrp .by %00001100 %00001000 %00000100 %00000000

Kawałek "składający" maskę jest modyfikacją fragmentu procedury Sparty przełączającej banki. Nie sprawdzałem jej, ale powinna działać. :)

Kod nie jest specjalnie skomplikowany. Kombinacje eor; and; eor i wcześniejsze mają służyć obliczeniu takiej wartości dla PortB, by zmieniły się tylko bity odpowiedzialne za dodatkową pamięć. Dzięki temu, przełączanie banków nie włącza/wyłącza Basica, czy systemu. Powinno się to przydać, gdy zamierzasz odłączać rom.

Przy powrocie do Sparty przywrocenie, wraz z innymi ustawieniami, poprzedniej zawartosci $d301.

Spróbuj zapomnieć o przywróceniu PortB, to bardzo szybko sobie przypomnisz. 8)

Dodatkowo chcialbym dopytac, czy bank podstawowy jest zawsze pozostawiany wolnym do wykorzystania, czy nalezy zalozyc, ze Sparta moze tam cos waznego przechowywac?

Sparta niczego nie przechowuje w tym obszarze. Wszystko co jest jej niezbędne znajduje się poniżej MemLo.

Jeszcze pytanie odnosnie otwarcia E:. Zawartosc ICAX1 i 2 pewnie okresla tryb otwarcia ekranu, czy moglym zapytac jakie konkretnie znaczenie przypisane jest tym zmiennym?

Dokładnie. W ICAX1 określasz kierunek przepływu danych: 4 - odczyt, 8 - zapis, 12 - odczyt i zapis. Urządzenie "E:" jest połączeniem ekranu (wyjście) i klawiatury (wejście), więc zawsze ustawia się go w tryb dwukierunkowy (12 w ICAX1). ICAX2 określa tryb graficzny dla ekranu (urządzenie "S:") . Ponieważ otwarcie "E:" implikuje tryb 0, to ten rejestr można spokojnie pominąć.

1,183

(50 odpowiedzi, napisanych Scena - 8bit)

People keep saying that the behavior of i = i++ is undefined

Tu, niezależnie od literatury, obstawiałbym, że i zostanie zwiększone o 1. Najpierw pod i zostanie przypisana wartość i, a potem do i zostanie dodane 1 i zapisane w i. :)

Wracając do mojego przykładu (int c = 1; c += ++c + c++): GCC pod FreeBSD i  Slackwarem oraz CC65 zwraca 7. Czy ktoś z ST/TT/F030 mógłby to sprawdzić pod Pure C? Jestem ciekawy jak Borland sie na to zapatruje.

++c jest wykonywane przed całością, a c++ na samym końcu, czyli już po przypisaniu wartości do zmiennej. Wiedząc to można stwierdzić: ˇ ++c zwiększa wartość c na 2 i to właśnie ta wartość jest brana pod uwagę
ˇ potem jest wykonywane dodawanie c + c, czyli mamy 4
ˇ c zwiększane jest o 4 (c+=4), co daje 6
ˇ na koniec c++ i mamy 7Preinkrementacja zmienia wartość zmiennej natychmiast, więc wszelkie dalsze obliczenia są wykonywane na nowej wartości. Szóstka w GCC na PPC wzięła się przez pomyłkę. :lol: Wpierw zostało wykonane c++ a później += co jest dla wg poważnym błędem. 5 w C# łatwo natomiast wytłumaczyć: c + c to dodawanie dwóch różnych zmiennych (najpierw ++c, czyli 2, potem 2+1=3, 3++ daje 4, a c += 4, to 1 + 4 = 5). 8) Dywagacje nt 5 i 6 są czysto teoretyczne. Nie sprawdzałem tego.

Zgadzam się z Mikeyem i Laoo. Jak ognia należy unikać podwójnej i więcej modyfikacji tej samej zmiennej.

1,184

(50 odpowiedzi, napisanych Scena - 8bit)

"Środowisko": ;) ˇ Windows XP SP2
ˇ cc65 V2.10.1
ˇ set CC65_INC=C:PROGRA~1CC65INCLUDE
set CC65_LIB=C:PROGRA~1CC65LIB
set LD65_CFG=C:PROGRA~1CC65LIB
ˇ nieśmiertelny program hello.c o znanej wszystkim zawartości ;)Zmienne środowiskowe wyglądają dokładnie tak jak widać.

Sekwencja:

cc65 -t atari -o hello.s hello.c
ca65 -t atari -o hello.o hello.s

działa dobrze, natomiast:

ld65 -t atari -o hello.xex hello.o atari.o atari.lib

produkuje zły plik binary - linker pod Win32 jest zwalony.

Natomiast:

cl65 -t atari -o hello.xex hello.c

daje idealny program działający pod Atari 800Win. Nie wiem, czy na prawdziwym sprzęcie też ruszy (powinien), bo gdzieś mi wcięło APE. :?

Pirx, kierunek slashy w zmiennych CC65_* nie ma znaczenia, tak samo jak nie ma znaczenia obecność slasha na końcu ścieżki (zerknij na linie 69. :oops: pliku cc65-2.10.1srccommonsearchpath.c w źródłach ;) ).

Poeksperymentowałem trochę ze slashami i, gdy zmienne zawierają '\', to też wszystko działa.

ale chyba CC65 nie uzywa INCLUDE, tylko tych swoich zmiennych???

I całe szczęście. Wyobraź sobie co by sie stało, gdybyś zapodał do CC65 stdio.h z takiego BC++, a do LD65 stdlib.lib, czy coś podobnego. :mrgreen:

Na koniec praca domowa dla beginnerów: co wyświetli taki program? ;)

#include <stdio.h>
int main()
{
int c=1;

    c+=++c+c++;
    printf("%dn",c);
    return 0;
}

Proszę najpierw ładnie w głowie, a potem sprawdzić, czy aby na pewno. :)

1,185

(50 odpowiedzi, napisanych Scena - 8bit)

"Język ANSI C" autorstwa Briana W. Kernighana i Dennisa M. Ritchiego (można kupić w księgarni albo ściągnąć w postaci pdfa z internetu)

Jak podasz adres tego pdfa, to Cię ozłocę. ;)

Juz taka mentalnosc Polakow, ze nawet jak pomoga to musza powiedziec przy okazji pare slow krytyki...

Bo w ten sposób najłatwiej odwrócić uwagę od własnego braku kompetncji. ;)

Jest jeden plus tego całego zamieszania i kąsania - ściągnąłem CC65. :)

1,186

(32 odpowiedzi, napisanych Bałagan)

Jak mogłeś deptać i truć smrodem swych nóg boginnię. Nic dziwnego, że niespodziewanie odeszła. Przynajmniej wyjaśniła się tajemnica jej śmierci. ;)

Hej Grzybson, jak tam kac poegzaminacyjny? :)

1,187

(32 odpowiedzi, napisanych Bałagan)

Jak tauś zrobi dziubek, to nie ma ... we wsi

:D
Ja tam do wszelkich egazaminów i matury podchodziłem w podkoszulku i też zdawałem. 8O

1,188

(19 odpowiedzi, napisanych Sprawy atari.area)

A możesz zacytować przykład dziecinności moderatorów lub niskiego poziomu ich wypowiedzi?

Przeczytaj dowolny RTT z dowolnego zlotu jaki odwiedizliśmy. :lol:

1,189

(50 odpowiedzi, napisanych Scena - 8bit)

Lizard, zapomniałeś dodać przestrzen nazw std

Może sie zdziwisz, ale pod Borland C++ i Borland C++ Builder taki program przechodzi bez przestrzeni nazw. Stąd mniosek, że domyślnie przyjmowana jest std, a jak chcesz inną to se zmień. :)

Może zamiast rzucać błotem w tebe, wypadałoby się trochę zastanowić jak działa preprocesor po natrafieniu na #include <plik>? Wygląda to mniej więcej tak:
1. pobierana jest zmienna CC65_INC
2. do zmiennej dodawana jest nazwa pliku poprzedzona ew. separatorem katalogu
3. wywoływana jest funkcja otwarcia pliku

Stąd wniosek, że ścieżka podana w zmiennej powinna być zapisana w postaci strawnej dla systemu, na którym odpalany jest CC65. Dla Windows XP powinno być c:ataricc65include (pojedyncze backslashe). Jeśli z tym nie działa, to należy na końcu ścieżki dodać jeszcze jeden ''.

Nie zagłębiałem się w źródła CC65, ale nie wydaje mi się, by kompilator sprawdzał system i odpowiednio ustawiał (back)slashe, więc należy zrobić to ręcznie.

Pomozcie, bo nie daje rady :(((( Wiem, zle szukam w googlu i na atariarea, ale juz lepiej nie potrafie...

Sparwdzałeś na http://www.cc65.org, a konkretnie na http://www.cc65.org/faq.php#PathProblems?

1,190

(50 odpowiedzi, napisanych Scena - 8bit)

Hehe, niedługo toczekamy się posta w stylu: :mrgreen:

Mam taki progam jak niżej i on sie nie komlikuje pod CC65, POMOCY!!!

#include <iostream>
void main()
{
   cout << "Hello łerld" << endl;
}

1,191

(19 odpowiedzi, napisanych Sprawy atari.area)

Przykład idzie z góry, od Pana Kierwnika przez Nabojkę AA (hello Lewis ;) ) i spływa łaską na nas maluczkich.

1,192

(35 odpowiedzi, napisanych Bałagan)

Vasco: jesteś japońskim turystą, więc aparat masz wczepiony w czoło, a trzask migawki wydajesz zębami. Po ciemku nie zapomnij włączyć flesza i świeć oczami. :D

1,193

(19 odpowiedzi, napisanych Sprawy atari.area)

Sam zadecyduj. Zauważ, że jego zwięzła odpowiedź tyczy się Twojej propozycji 4free. ;)

A dla mnie banowanie to metoda sprawowania terroru przez zdziecinniałych modów, którym brakuje inteligencji, by swymi wypowiedziami podnieść niski poziom forum. :twisted:

1,194

(35 odpowiedzi, napisanych Bałagan)

Najlepiej udawajmy japońskich turystów, którzy przypadkiem zabłąkali się w okolice zlotu i podziwiają najnowsze osiągnięcia techniki. :D

1,195

(8 odpowiedzi, napisanych Bałagan)

thePink nie zapodał platformy tylko motyw, więc nie rozumiem skąd te żale. ;)

iestety, nawet dodanie magicznego słówka atari nic nie daje. :(

1,196

(8 odpowiedzi, napisanych Bałagan)

http://www.google.pl/search?hl=pl&q … di&lr=

1,197

(35 odpowiedzi, napisanych Bałagan)

no ale ormo nie miało korony tylko hełmy, a w szponach pałki ;)

1,198

(8 odpowiedzi, napisanych Sprzęt - 16/32bit)

Drobna uwaga. Gniazdo monitorowe Atari ST ma wyprowadzone sygały RGB, a nie chroma/luma, więc przejściówki Euro --> chinch są tu na ch... potrzebne.

zawor___, utnij jedną wtyczkę Euro i wstaw tam sobie DB9. Będzie mógł podłączyć kompa do monitora przez gniazdo RGB. Ja tak kiedyś zrobiłem i obraz był rewelacyjny.

1,199

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

eee tam 8)
zawsze miałem 256kb i nie było problemu...
a w obecnych czasach kiedy jest 1mb :idea:

256 kB przydaje się przy kopiowaniu całodyskowym, a ja pisałem o kopiowaniu dużych plików przy użyciu Toms Navigatora, a tu Ci się nie przyda rozszerzona pamięć (chyba, że kopiujesz pomiędzy dyskietką a ramdyskiem).

Czytaj uważniej, zanim odpiszesz. :rolleyes:

1,200

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

To nie SI, tylko GR.0. :P

Nazwę pliku dobrze jest czymś zakończyć, a znak $9b świetnie się do tego nadaje.

Znak końca moża pominąć, gdy urządzenie nie obsługuje nazw plików (E:, K:, S:, P:) lub, gdy po nazwie można zorientować się, gdzie jej koniec (np. fname.ext - rozszerzenie 3-znakowe). Należy tylko zwrócić uwagę, by zaraz za nazwą nie było znaku ">" (MyDOS i SpartaDOS) lub "" (tylko SpartaDOS X). Inaczej sterownik "D:" uzna naszą nazwę za nazwę katalogu, a śmiecie za nią za nazwę naszego pliku. Tak więc jeśli nie chcemy mieć popularnych w Windowsach błędów przepełnieia bufora :mrgreen: , to lepiej kończyć nazwę bezpiecznym $9B lub chociaż wartością 0.