351

(10,041 odpowiedzi, napisanych Bałagan)

I że hał-der-ju?

352

(22 odpowiedzi, napisanych Fabryka - 8bit)

I zaktualizowałem ostatniego patcha do wersji 1.17.

353

(22 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję. Zapomniałem że nawet distclean w tym projekcie nie działa do końca poprawnie :( (clean był robiony :D) i trzeba ręcznie edytować plik patcha.
Tak, czy owak - teraz powinno być ok.

354

(22 odpowiedzi, napisanych Fabryka - 8bit)

Aktualizacja 5.
Dodany standard kodowania ATARI8-EUROTEKST.
Procedura nakładania łaty analogiczna, jak wyżej - łatę nakładamy na oryginalny plik ściągnięty z gnu.org.

355

(118 odpowiedzi, napisanych Programowanie - 8 bit)

O to chodziło! Dzięki!

356

(118 odpowiedzi, napisanych Programowanie - 8 bit)

Potrzebuję przedefiniować sobie zmienną.

    opt o+ h- c- ?+

MEM_BASE = 0
MEM_OSLO = 1
MEM_OSHI = 2
MEM_EXT = 3

    org $2000

.local
MEM = MEM_OSLO
    .byte MEM
.endl

.local
MEM = MEM_OSHI
    .byte MEM
.endl

.local
MEM = MEM_EXT
    .byte MEM
.endl

.local
MEM = MEM_BASE
    .byte MEM
.endl

    end

Jak to zrobić bo to generuje mi błędy:

$ mads label.asx 
label.asx (13) WARNING: Infinite loop by label MEM
MEM = MEM_OSHI
label.asx (18) ERROR: Label MEM declared twice (BANK=0)
MEM = MEM_EXT
label.asx (23) ERROR: Label MEM declared twice (BANK=0)
MEM = MEM_BASE
label.asx (28) ERROR: Label MEM declared twice (BANK=0)

357

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Ale przy symbolu akurat to mogłoby używać ASCII zawsze. Przy inc i ins nie ma z tym przecież problemu :)

358

(139 odpowiedzi, napisanych Programowanie - 8 bit)

$ zx02 infile outfile

  7680 conan.gfx
  1629 conan.gfx.zx02
30653 Landscape.xex
13546 Landscape.xex.zx02
  8192 RiverRaid.rom
  6312 RiverRaid.rom.zx02

359

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

Dzięki Zenon za informacje!

360

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

Schematu w TA nie było. D2 jest bardzo intuicyjne, ale wolałem się upewnić :)
Czy wersję 64K robiłeś jeszcze dla kogoś czy tylko dla siebie? Masz może te zmodyfikowane programiki do tego?

361

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

Czy ktoś dysponuje może specyfikacją SiDiCar-a 64K (lub większego) o którym mowa w Tajemnicach Atari? Interesuje mnie rejestr sterujący CARSET ($D5FF) i bit który mapuje dodatkowe 32K.

362

(24 odpowiedzi, napisanych Programowanie - 8 bit)

Artykuł na AtariOnline linkowany przez Pavrosa jest dostępny tutaj.

363

(57 odpowiedzi, napisanych Sprawy atari.area)

Starzy nie odejdą, jeśli będzie im zależało.

Lizard napisał/a:

SpartaDOS X na partycjach dysku twardego i ramdyskach pozwala na utworzenie tylko systemu plików SpartaDOS-u. W przypadku dyskietek można zadecydować, czy ma być SDFS, czy AtariDOS.

ATARIDOS.SYS radzi sobie z partycjami MyDOS-a. Częściowo obsługuje nawet podkatalogi - czyta zawartość i zapisuje w nich pliki, ale nie pozwala na tworzenie i usuwanie.

COLD /N odłącza wszystkie kartridże. Spróbuj COLD /C, który odłącza tylko SDX.

Człowiek uczy się całe życie. Dzięki! Widzę, że nadszedł czas na ponowne przeczytanie users manuala :)

W SDX nie ma sterownika do dysków MyDOS (formaty większe niż dyskietka obsługiwane są wariantem niekompatybilnym z AtariDOS - są tam inne linki i statusy w directory) a wyłącznie AtariDOS (sterownik ATARIDOS.SYS).
Musisz odłączyć SDX żeby zbootować MyDOS-a z dyskietki, więc:
1. Może masz jakieś narzędzie które po odłączeniu cartridge'a pozwala na ponowne jego podłączenie tak żeby partycje były widoczne?
2. Wyrzuć SDX (usuń fizycznie z carta) z AVG i bootuj MyDOS-a z włączonym cartem.
Oczywiście jeśli chcesz używać SDX potem, no to musisz sobie go z powrotem na carta nagrać.

BOOT to jest polecenie Sparty i działa z dyskami z filesystemem Sparty, bo tylko tam jest miejsce do zapisania wskaźnika do pliku, który ma być załadowany automatycznie przez loader znajdujący się w boot-sektorach (Sparta DOS ma taki loader od najpierwszych wersji - na dyskietkowych Spartach BOOT wskazuje na DOS-a). Z partycją inną niż Sparta DOS (3.* lub X), czyli Atari DOS 1.x, 2.x, 3.x, MyDOS, BiboDOS, TinyDOS, TopDOS, DOS XL, Atari DOS XE, itd. polecenie BOOT nie będzie działać.

W innych DOS-ach trzeba przede wszystkim umieścić w sektorach 1-3 loader który umożliwia automatyczne wystartowanie jakiegoś pliku - np. xBootDOS, a następnie umieścić żądany plik z nazwą ustaloną odpowiednio do wymagań tegoż loadera (dla xBootDOS ma to być AUTO) na dysku.

Filesystem AtariDOS z poziomu SDX powinno się dać zrobić używając polecenia FORMAT.

Zdaje mi się, że trzymanie ESC podczas bootowania komputera powinno wyłączyć SDX (albo zablokuj w tym AVG).

Edit: Zapomniałem, że można odłączyć SDX podczas bootowania przez COLD /N.

367

(10,041 odpowiedzi, napisanych Bałagan)

Mam nadzieję, że nie stawiasz znaku równości miedzy okładem, czy chlebem z pajęczyną a trzema zdrowaśkami?

368

(10 odpowiedzi, napisanych Bałagan)

$ dd if=input.file of=output.file bs=1 skip=bytes_to_skip count=bytes_to_copy

:D:D

369

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Można to zrobić wybierając tryb graficzny: GR.8, GR.15, GR.9/10/11.

370

(8 odpowiedzi, napisanych Programowanie - 8 bit)

Wszystko pięknie, ale w takim razie dlaczego 1,2,4 a nie 1,2,3? Przez łączoną parę 3+4? Szybsze dzielniki dałoby się uzyskać mając 1,2,3...

371

(23 odpowiedzi, napisanych Programowanie - 8 bit)

@QTZ: "Całe życie byłem drugi..." :) Szacun za pomysł z ukrywaniem danych - RODO w praktyce :). Poza tym tak - to abstrakcyjny przykład i już poprawiony o brakujący PLOT.

Edit: Na sterowniku S: są zdefiniowane operacje GET i PUT odpowiadające LOCATE i PLOT. Co do INPUT-a czy PRINT-a - to są sekwencje GET i PUT ale, jak sam napisałeś, z dodatkiem kodu EOL. Być może INPUT-a się nie da, bo robiąc GET na S: nigdy nie dostaniemy EOL-a?

372

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Jeśli używasz GR.8 (czyli z oknem tekstowym) to można skorzystać z faktu że ekran graficzny jest większy niż 160 linii :) A wtedy

COLOR 1:PLOT 7-N,160:? PEEK(E+40*160)

zwróci interesujący nas bajt a na ekranie nie będziemy mieć śmiecia :)
Nie wpadłem tylko na pomysł jak zrobić XOR. Ale @maw - pomysł jest genialny! "Szkoda że nie mój" :)

Edit: No chyba że LOCATE'm weźmiemy kolor i go "zanegujemy" inkrementując. A wtedy procedura negująca bit a bajcie będzie wyglądać mniej więcej tak:

10 POKE E+40*160,B:LOCATE 7-N,160,C:COLOR C+1:PLOT 7-N,160:B=PEEK(E+40*160):RETURN

B to bajt wejściowy i wyjściowy, N to numer bitu.

Edit: Poprawniejsza negacja wg definicji: COLOR 1-C :)

373

(139 odpowiedzi, napisanych Programowanie - 8 bit)

@xxl: A czym tego PackFire można kompresować na PC? Najfajniej gdyby było na unixoidy.

374

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Jeszcze dla uściślenia - BASIC wbudowany w serii XL/XE to nie jest BASIC XL, tylko Atari BASIC :) Popraw tytuł wątku, żeby nie wprowadzać potomnych w błąd :)

Edit: Uzupełniłem jeszcze pierwszy post o załączniki.

375

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Nie ma. Najlepiej to chyba zrobić USR-em:

FP0 = $D4

  pla    ;ilosc argumentow ignorujemy

  pla    ;pierwszy argument
  sta FP0+1
  pla
  sta FP0

  pla    ;drugi argument
  AND/EOR/ORA FP0+1
  sta FP0+1
  pla
  AND/EOR/ORA FP0
  sta FP0
  rts

Wywołujemy

X=USR(ADR("powyzszy_kod"),A,B)

Edit: Załączniki.