TOMS? LDW z przeróbkami? SIO2SD?

1,877

(16 odpowiedzi, napisanych Różne)

Ja również dziękuję Kolegom. Bardzo fajnie wyszło :)

1,878

(16 odpowiedzi, napisanych Różne)

Atr z DOS II/D. Błędu nie zauważono :/

1,879

(16 odpowiedzi, napisanych Różne)

Hahahhahahhahaaaaaa! (śmiech szaleńca planującego przejęcie kontroli nad światem) To nie moja, tylko Petera Liepy. Atari Dual Core :D - może PInokio odpalił by to na swoim potworze i zdał re(we)lacje.
Zastanawiałem się, jak by tą muzykę maksymalnie przyspieszyć, bo miałem to na początku w liniach DATA więc nie ma już parsowania danych, ale sam player jest niestety niewiele szybszy :/
Podobał mi się Twój sinus i chciałem okrasić go odpowiednią muzyką - JAK DEMO TO DEMO!

1,880

(16 odpowiedzi, napisanych Różne)

No tak! Zażądał listingów, po czym ch...ja zrobił!
Niedobry ja. Życie.
Co prawda po fakcie, ale załączam swoje w(s)tręty. Uprasza się uprzejmie Organizatora o wypuszczenie wersji after-party z laski swojej :D

Edit: No i zapomniałeś o zalinkowaniu edycji 2011: http://www.atari.org.pl/forum/viewtopic.php?id=8666

1,881

(16 odpowiedzi, napisanych Różne)

Bardzo proszę o załączanie również listingu w załączniku (najlepiej .LST). Czasu niewiele więc pomoże to bardzo.

1,882

(34 odpowiedzi, napisanych Zloty)

Zamiast zawiadamiać można zsynchronizować termin party z dniem kiedy eko-file wyłączają światło. Elektrownia nie będzie się martwić co zrobić z nadwyżką prądu, my będziemy mieć aż nadto i równowaga w przyrodzie zostanie zachowana.

Można też nieco inaczej:
Najpierw F1:
1. W Emulator Configuration wyłączyć SIO patch (czasem zakłóca ładowanie z magnetofonu).
2. W Emulator Configuration wyłączyć BASIC.
3. W Emulator Configuration włączyć trzymanie START podczas BOOT.
4. W Tape Management podłączyć plik .CAS i ustawić Position na 1 (to licznik rekordów).
Potem F5 i się powinno ładować.

1,884

(77 odpowiedzi, napisanych Bałagan)

Piękna muzyka! Dzięki gepard.

1,885

(116 odpowiedzi, napisanych Bałagan)

@Sikor: SDX tak, jak i xBIOS ma swój specjalny interfejs, który daje sporo większe możliwości niż tradycyjny ATARI DOS. Jak chcesz zrezygnować z dobrodziejstw typu: kod relokowalny, TSRy, zarządzanie XRAM, symbole, itp. to możesz pisać samodzielnie wszystko. Analogii zresztą daleko nie trzeba szukać - renegaci odrzucający jakiegokolwiek DOSa (CIO) organizują sobie dysk po swojemu i korzystają z SIO pisząc programy BOOTowalne. Kardridżowcy też. Nie rozumiem co jest niewłaściwego w tym, że powstają programy korzystające z nowych fajnych funkcji, które daje oprogramowanie :/ To oczywiste, że program napisany specjalnie dla xBIOS, jak i napisany specjalnie dla SDX nie będzie działał na ATARI DOS. Zapewnienie kompatybilności wstecznej jest tak dużym krokiem wstecz, a wynikającym z odrzucenia wielu ułatwień, że po prostu szkoda się mordować. Masz pretensje, że program dla MS-Windows nie chodzi pod MS-DOSem :/?

1,886

(116 odpowiedzi, napisanych Bałagan)

Oczy wiście.

1,887

(116 odpowiedzi, napisanych Bałagan)

Wychodzi na to, że Sparta jest elitarnym systemem. Ha!

1,888

(84 odpowiedzi, napisanych Różne)

I to działająca :)

1,889

(84 odpowiedzi, napisanych Różne)

Pin napisał/a:
mazi napisał/a:

Ciekawe jak dostajesz sie do plikow (by je odegrac) w powiedzmy w czwartej setce. Bo nie wierze, ze znasz nazwy oraz formaty wszystkich plikow na pamiec.

2. Mam 400 plików posortowanych w katalogu alfabetycznie, jestem pod command processor i teraz szukamy jakiegoś pliku zaczynającego się na literę "z":

dir z*.*

Dn:>z_nazwa.ext

Muza gra.

Mazi ;) - znasz szybszą metodę?

DOSKEY.SYS

Z[TAB][RETURN]

1,890

(84 odpowiedzi, napisanych Różne)

A gdzież tam :D

1,891

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

Sugerujesz, że jest to byt pozbawiony świadomości swego istnienia?

1,892

(84 odpowiedzi, napisanych Różne)

Dla wygody i przyjemności?

1,893

(84 odpowiedzi, napisanych Różne)

Nie zna życia, kto nie pisał w Sparta DOS X.

1,894

(11 odpowiedzi, napisanych Bałagan)

I jak tu wyjść  psem na spacer...?

1,895

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Piękny kawałek kodu ("Dowód jest elegancki kiedy da się go zapisać na marginesie" haha). Szacun!

Edit: Zastanawiam się czy NEWIOP nie spowoduje, że w pewnych warunkach procedura nie będzie reentrant, ale jeśli przepiszemy IRQMAIN to można go nie używać, albo zapewnić żeby była tam zawsze zawartość .A sprzed wywołania.
Podoba mi się JSR+NOP zamiast odkładania dokładnego powrotu na stos - zgrabne.

1,896

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Tak, ale niestety patch spowoduje też spory wzrost opóźnień (dla DLI ok 20 cykli, dla VBLK ok 35, dla IRQ ok 25). W przypadku DLI chyba lepiej nie wprowadzać takich delayów? 7 cykli przy samym NMI patch w sumie może byłoby i akceptowalne...
Zrobiłem małą przymiarkę dla wektoryzowania przez NMIVEC i IRQVEC:

nmi:
  pha             ;3
  lda #>brkopcode ;2
  pha             ;3
  lda #<brkopcode ;2
  pha             ;3
  php             ;3

  asl NMIST
  scc
  jmp (VDSLST)

  pha
  txa
  pha
  tya
  pha
  cld
  jmp (VVBLKI)

irq:
  pha             ;3
  lda #>brkopcode ;2
  pha             ;3
  lda #<brkopcode ;2
  pha             ;3
  php             ;3

  asl NMIST
  scc
  jmp (VDSLST)

  cld
  smi
  jmp (VIMIRQ)

  pha
  txa
  pha
  tya
  pha
  jmp (VVBLKI)

brkopcode:
  txa
  pha
  tsx
  lda $103,x
  and #$10
  beq ?ret
  pla
  tax
  jmp (VBREAK)

?ret:
  pla
  tax
  pla
  rti

oraz dla VDLST, VVBLKI i VIMIRQ:

vdslst:
  sta NMIRES      ;4
  pha             ;3
  lda #>brkopcode ;2
  pha             ;3
  lda #<brkopcode ;2
  pha             ;3
  php             ;3
  ...             ;-------20 cykli

vvblki:
  pla             ;4
  tay             ;2
  pla             ;4
  tax             ;2
  lda #>brkopcode ;2
  pha             ;3
  lda #<brkopcode ;2
  pha             ;3
  php             ;3
  txa             ;2
  pha             ;3
  tya             ;2
  pha             ;3
  ...             ;-------35 cykli

vimirq:
  bit NMIST       ;4
  spl             ;23
  jmp (VDSLST)    ;5 -----11 cykli

  svc             ;23
  jmp (VVBLKI)    ;5 -----14 cykli

  pha             ;3
  lda #>brkopcode ;2
  pha             ;3
  lda #<brkopcode ;2
  pha             ;3
  php             ;3
  ...             ;-------26 cykli

Na razie teoretyzuję, bo nie uruchamiałem tego. W tym przypadku IRQ w obydwu przypadkach uruchomi 2x obsługę BRK kiedy nie wejdzie mu w drogę ani NMI, ani IRQ.

Edit: 2x wywołanie BRK akurat da się obejść realizując zamiast PHP po prostu LDA #%00100100+PHA.

1,897

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Przy takim zdefiniowaniu priorytetów używanie BRK mija się z celem, bo opóźnienia obsługi BRK w pesymistycznym przypadku będą rzędu 250 cykli (przejdzie cała detekcja IRQ zanim zostanie wywołana obsługa BRK). Lepiej użyć JSR/JMP i tablicy skoków. Pewnie dlatego OSowcy zrezygnowali z patchowania i zostawili PLA/RTI (co chyba najsensowniej w takim stanie rzeczy zrobić).
Pytanie dlaczego w ogóle zostawili wektor (i to dopiero w serii XL/XE) skoro wiedzieli, że to nie działa? Może planowali użyć CPU, który wszystko realizuje poprawnie? ;]
Wychodzi na to, że faktycznie sens używania BRK to tylko laboratoryjny debug.

1,898

(46 odpowiedzi, napisanych Programowanie - 8 bit)

@Fox @xxl: Dzięki.

1,899

(46 odpowiedzi, napisanych Programowanie - 8 bit)

W atariki stoi: "Wystąpienie przerwania podczas wykonywania rozkazu BRK spowoduje, że zostanie on zignorowany". Tylko co to znaczy? Czy to, że błąd leży w procedurze obsługi IRQ, czy że jest to własność processora?

1,900

(46 odpowiedzi, napisanych Programowanie - 8 bit)

NMI jest wymuszane zboczem, więc nie ma szans wejść w to samo NMI po raz drugi. Jeśli chcielibyśmy obsługiwać BRK też i na NMI, to trzeba by odłożyć na stos powrót do obsługi BRK i kontynuować NMI.
Można jeszcze skorzystać z patentów xxla na programowe wywołanie IRQ i spokojnie wyjść z NMI.

Edit: "ASL..." załatwia sprawę, ale nie CAŁKOWICIE, bo jak sam się zgodziłeś potrzebne jest jeszzcze STA NMIRES na DLI :/ albo zmiana ROMu z główną procedurą obsługi NMI (tak, żeby użytkownik nie musiał już robić nic z NMIRES w swoim kodzie).

Edit 2: "Wejść w to samo NMI po raz drugi" - chodzi o podtrzymanie wymuszenia na linii NMI. IRQ jest wymuszane poziomem, więc przerwanie może być odroczone - wystarczy tylko nie obsługiwać go w IRQST (lub innych). W NMI to nie wystarczy, bo po powrocie przez RTI wymuszenia już nie ma.