126

(115 odpowiedzi, napisanych Zloty)

Minął tydzień od zakończenia Lost Party. Obejrzałem fotki, posłuchałem opowieści i dowiedziałem się, że bawiłem się dobrze. :-) W związku z tym kieruję prośbę, apel, wniosek, podanie do organizatora: weźcie - Vasco i inne baśniowe stwory - w końcu odwalcie jakąś manianę, aby można było się do czegoś przyczepić.

  • Zalety: jak wklejam listę, to mi wyskakuje błąd: "buffer overflow"

  • Wady: cat - < /dev/zero > /dev/null

127

(115 odpowiedzi, napisanych Zloty)

Vasco/Tristesse napisał/a:

Podsumowując. Zabierzcie na zlot:
- kubek,
- sztućce,
- przybory toaletowe,

Brzmi jak poradnik: "co zabrać do szpitala".

128

(6,129 odpowiedzi, napisanych Kolekcjonowanie)

Sikor napisał/a:

Fabrycznie nowe commodore a nie ma dwóch nóżek? Hmm, oszczędna ta firma była, nie powiem... :P

To Ty nie wiesz, że organ nieużywany zanika? Wszystko się zgadza. :-D

129

(188 odpowiedzi, napisanych Bałagan)

Jest tak, jak napisali Bocianu i Laoo. Pogrubienie zmniejsza czytelność. Zwróćcie uwagę na zdjęcie oryginalnego kubka - tekst pogrubiony wygląda gorzej niż zwykły.

130

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Całe życie spędziliśmy przy niebieskim tle i niebieskawych literach udających białe. Jedynym komunikatem jaki widzieliśmy był "ERROR n" i na jego podstawie analizowaliśmy przyczynę błędu. Na co komu kolory, czy opisy błędów? ;-)

131

(24 odpowiedzi, napisanych Bałagan)

20 lat temu tak się robiło. Przy obecnych cenach pamięci i możliwościach jej rozszerzenia wielkość swapu pozostawiłbym Windowsowi, a dla systemów uniksowych jednoznacznej odpowiedzi nie ma.

perinoid napisał/a:

Do takich rzeczy fajny byłby RAM-dysk w stylu amigowym - bez deklarowanej pojemności, dynamiczny, zużywający tyle pamięci ile akurat potrzeba.

$ sudo mkdir /ramdisk && sudo mount -t tmpfs rd /ramdisk && sudo df -h /ramdisk; free -h
System plików  rozm. użyte dost. %uż. zamont. na
rd              7,8G     0  7,8G   0% /ramdisk
               razem       użyte       wolne    dzielone   buf/cache    dostępne
Pamięć:       15Gi       2,7Gi       8,1Gi       797Mi       4,7Gi        11Gi
Wymiana:        15Gi          0B        15Gi

132

(25 odpowiedzi, napisanych Miejsca w sieci)

Cyprian napisał/a:

Pany, nie róbmy tutaj zamieszania

Sam zacząłeś, to teraz spróbuj ugasić ten pożar. ;-)

Cyprian napisał/a:

Dobry przykład praktycznego zastosowania nielegali.

LAX - zyskaliśmy jeden bajt i dwa cykle. Super, teraz świat stał się lepszy.
SHX

Stores X AND (high-byte of addr. + 1) at addr.

unstable: sometimes 'AND (H+1)' is dropped, page boundary crossings may not work (with the high-byte of the value used as the high-byte of the address)

Słowo klucz: unstable.

133

(25 odpowiedzi, napisanych Miejsca w sieci)

Atari było pomyślane jako architektura otwarta, co widać po samej konstrukcji, jak i systemie operacyjnym. A propos systemu, dlaczego nie znajdziesz w nim nielegalny rozkazów? Przecież przyspieszyłoby to jego działanie i - poprzez skrócenie kodu - pozwoliłoby z pewnością na umieszczenie kilku dodatkowych procedur.

134

(25 odpowiedzi, napisanych Miejsca w sieci)

Nie istnieje żaden przykład stosowania nielegalnych rozkazów, który jest dobry. Po prostu takiego nie ma.

Każdy nielegalny rozkaz można łatwo zastąpić grupą legalnych. Dziwę się, że ten truizm trzeba za każdym razem powtarzać. Podobnie jak inny: stosowanie nielegali zamyka otwartą architekturę i eliminuje pewną grupę komputerów z możliwości uruchamiania takich programów.

135

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

Biere :-)

Nie myślałeś o założeniu zbiórki?

137

(15 odpowiedzi, napisanych Bałagan)

Atari Area bawi i uczy. Ten wątek to lekcja rosyjskiego, którą zapamiętam w przeciwieństwie do lekcji w szkole. :-)

https://rosyjski.ang.pl/lekcje/rzeczown … _co/kto_co
https://rosyjski.pro/rosyjski-rzeczowni … rosyjskim/

138

(15 odpowiedzi, napisanych Bałagan)

prz napisał/a:

A to nie jest tak, że u ruskich, "kto?" stosuje się do rzeczowników żywotnych, do których należy sabaka?

Języka rosyjskiego próbowano mnie nauczyć przez osiem lat - bezskutecznie. Jedynie znam bukwy i potrafię je przeczytać.

Chętnych nie brakuje, tylko nikt nie chce, abyś rozstawał się z Atarką. :-)

140

(15 odpowiedzi, napisanych Bałagan)

Sam napisałeś, że człowiek, więc jest "who". :-) Czy po rosyjsku nie pytamy jednak "что это", gdy nie chodzi człowieka? Profil podobno jest rosyjski, więc może być to i kalka.

141

(15 odpowiedzi, napisanych Bałagan)

Może to ten sam?
http://www.atari.org.pl/forum/misc.php?action=pun_attachment&amp;item=10649

paptak napisał/a:

Usunąłem go ponieważ jakiemuś człowiekowi nie spodobało się, że jego imię i nazwisko pada podczas podpisywania płyt przez Sławka Łosowskiego.

Nie dało się tego fragmentu wypikać albo wyciszyć z krótkim komentarzem?

143

(9,967 odpowiedzi, napisanych Bałagan)

Niby o wydarzeniach sprzed ponad stu lat, a jakbym słuchał o wydarzeniach bieżących.
https://www.youtube.com/watch?v=Vph_weLs_LY

144

(115 odpowiedzi, napisanych Zloty)

Vasco/Tristesse napisał/a:

co ja później zrobię ze znaczkami, których ktoś nie odbierze?

Wyślesz przyklejone na kopercie z dopiskiem "stamps back". Nie zapomnij tylko posmarować wierzchniej warstwy klejem.

Dlaczego dwa razy ten sam post?

146

(117 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki za wyjaśnienie. Konieczność stosowania przecinka w przypadku .BYTE, podczas gdy .BY tego nie wymaga, jest dla mnie brakiem konsekwencji, bez której da się jednak żyć. :-)

Natomiast łączenie w jedną liczbę cyfr rozdzielonych spacją uważam za błąd. Dla przykładu:

    .BYTE 1 2 3, 12 3, 1 23"

powinno generować błąd składni, a nie blok bajtów: $7B $7B $7B.

Drugą rzeczą, którą poruszyłem na początku, jest pierwsza liczba ze znakiem za dyrektywą .BY, która modyfikuje pozostałe wartości. W dokumentacji mowa jest, że poprzedzenie tej liczby znakiem dodawania powoduje zwiększenie pozostałych o wskazana wartość. Rzecz w tym, że umieszczenie minusa powoduje adekwatnie zmniejszenie. W ten sposób, aby wprowadzić liczbę ujemną jak pierwszą trzeba uciekać się do akrobacji w rodzaju "256-b". Dla lepszego zobrazowania ".by -2 1" wygeneruje jeden bajt o wartości -1 ($FF), podczas gdy: ".by 256-2 1 - dwa bajty o wartościach: -2 ($FE), 1.

Proponuję zmodyfikować Madsa tak, aby wartości po dyrektywie .BY były modyfikowane tylko wtedy, gdy przed pierwszą liczbą jest znak plusa. Znak minus powinien określać tylko i wyłącznie znak liczby. Jeżeli zaszłaby potrzeba zmniejszania wartości, można to zrealizować tak, jak robi to MAE: ".BY +-n".

147

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Program pobiera kolejne parametry i wypisuje je w kolejnych liniach. Na koniec wyświetla ile parametrów podano. Kod od "noarg" odpowiada za wyświetlenie liczby podanych argumentów. "nosupp" wyświrtla komunikat o niewłaściwym DOS-ie. "print" wyświetla parametr.

Poprawiłem funkcję "getpar". Pierwotna wersja zwracała pod SDX długość argumentu o 3 bajty krótszą niż pod DOS-em II+/D. SpartaDOS przy obliczaniu długości parametru nie uwzględnia początkowej nazwy urządzenia ("Dn:").

        opt ?+

iccmnd  =   $0342
icbufa  =   $0344
icbufl  =   $0348
ciov    =   $e456

fr0     =   $d4
inbufp  =   $f3
lbuff   =   $0580
ifp     =   $d9aa
fasc    =   $d8e6

        org $2000
start   jsr getpar
        bcs nosupp
        beq noarg
        jsr print
        inc argc
        jmp start

noarg   lda #<argc_s
        ldy #>argc_s
        ldx #argc_l
        jsr print
        lda argc
        sta fr0
        lda #$00
        sta fr0+1
        jsr ifp
        jsr fasc
        ldy #$ff
?lp     iny
        lda (inbufp),y
        bpl ?lp
        and #$7f
        sta (inbufp),y
        iny
        lda #$9b
        sta (inbufp),y
        iny
        tya
        tax
        lda inbufp
        ldy inbufp+1
        bne print

nosupp  lda #<bdos_s
        ldy #>bdos_s
        ldx #bdos_l

print   sta icbufa
        sty icbufa+1
        stx icbufl
        ldx #$00
        stx icbufl+1
        lda #$09
        sta iccmnd
        jmp ciov

argc_s  .by "Liczba parametrow:"
argc_l  =   *-argc_s
bdos_s  .by "Nie ten DOS"
bdos_l   =  *-bdos_s
argc    .by 0

; Get Parameter for DOS II+/D
; Results:
;       C=1 - neither DOS II+/D nor SDX
;       Z=1 - no more parameters
;   If Z=0 & C=0:
;       AY - pointer to parameter
;       X  - length of parameter

Getpar  lda $0700
        asl
        cmp #'D'*2
        beq ?d2p
        cmp #'S'*2
        beq ?sdx
        sec
        rts

?d2p    lda #<?d2dp     ; Init for
        ldx #>?d2dp     ; DOS II+/D
        jsr ?stdos

        lda $13c3
        sta ?cur

        ldy $0348
        lda $1b00
        cmp #'M'
        beq ?dec
        lda $1b01
        cmp $13c3
        beq ?skp
?dec    dey
        dey
?skp    lda #$9b
        sta $1b02,y

?dos2d  ldy #$00        ; DOS II+/D
?nxt    lda $1b03,y
        iny
        cmp #$20
        beq ?fnd
        cmp #$9b
        bne ?nxt
        php
        ldx #$03
?ccr    lda ?cur,x
        sta $0580,x
        dex
        bpl ?ccr
        bmi ?aex

?fnd    ldx #<$1b03
        stx $f3
        ldx #>$1b03
        stx $f4
        jsr $dba5
        jsr $14b9
        ldx #$ff
?mv     inx
        lda $1b00,x
        sta $0580,x
        cmp #$20
        beq ?pel
        cmp #$9b
        bne ?mv
?pel    lda #$9b
        sta $0580,x
        php
?aex    lda #<$0580
        ldy #>$0580
        plp
        clc
        rts

?cur    .by "D :" $9b

?sdx    lda #<?spx      ; Init for
        ldx #>?spx      ; SpartaDOS
        jsr ?stdos
        ldy #$04
        lda ($0a),y
        sta ?spdos+1
        iny
        lda ($0a),y
        sta ?spdos+2
        lda $0a
        adc #$20        ; C=0
        sta ?lo+1
        lda $0b
        adc #$00
        sta ?hi+1

?spdos  jsr 0           ; SpartaDOS
        php
?lo     lda #$00
?hi     ldy #$00
        inx
        inx
        inx
        plp
        clc
        rts

?stdos  sta ?ad+1
        stx ?ad+2
        ldy #$02
?ad     lda 0,y
        sta getpar,y
        dey
        bpl ?ad
        rts

?d2dp   jmp ?dos2d
?spx    jmp ?spdos
        .en

148

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Niestety nie jest i trzeba się trochę nakombinować. W zasadzie wszystko, czego potrzebujesz, jest opisane, więc jak raz napiszesz własną procedurę, to będziesz miał święty spokój. :-)

149

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Po uruchomieniu magazynu włóż drugą dyskietkę (Syzygy6b.atr) i wtedy wczytaj artykuł.

150

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Polecam artykuł w Syzygy #6: "Wiersz poleceń w DOSie II+/D". Początkowo traktuje tylko o tytułowym DOS-ie, ale na końcu jest opis uniwersalny. Do artykułu dołączony jest plik z przykładami.
http://ftp.pigwa.net/stuff/collections/ … ny/Syzygy/