2,526

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

$ tr "\233" "\012" < TMDMAKE.DOC >TMDMAKE.TXT

2,527

(341 odpowiedzi, napisanych Fabryka - 8bit)

A bo rozmawialiśmy na IRCu o playerze Świętego dla POKEYa i się przeniosło...

2,528

(341 odpowiedzi, napisanych Fabryka - 8bit)

No tak, ale zapisy do rejestrów SIDa są może i co stały interwał (bo robi je player) - a zapisy do rejestrów POKEYa? Wszystko jest na samplach?

2,529

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

http://atariki.krap.pl/index.php/Franny to służy do manipulacji .atr'ami.

2,530

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

Dzięki - poszukam.

2,531

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

Adam Klobukowski napisał/a:

... Z tym że w nowych (2.6.x) jądrach opcja swapowania została chyba usunięta, lub jest przeznaczona do usunięcia i nie nie wiem czy ją coś zastępuje ...

A czy mógłbyś mi podać numerek kernela, z którym ta opcja działała?
Oglądałem ostatnio źródła modułów msdosfs i vfatfs w 2.6.32 oraz dosfstools 3.0.11 pod kątem montowania partycji st w linuxie i jest tam kod, ale z tego co widziałem kompiluje się to tylko dla platform opartych o motkę 68k :/ A miło byłoby móc używać partycji st w x86 (choćby z cf).
W kernelach dla Ubuntu 10.04 support dla partycji st jest automatycznie wkompilowany.

Edit: ...i może dla wcześniejszych też, ale nie wnikałem.

2,532

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

Adam Klobukowski napisał/a:

2) ściągnąć sobie dump dysku do pliku, przeswapować samemu (napisać do tego program), <ciach>.

$ dd if=in.img of=out.img conv=swab

2,533

(76 odpowiedzi, napisanych Zloty)

Ja postaram się również przybyć. Liczę na to, że tym razem nic mi nie przeszkodzi.

2,534

(6,304 odpowiedzi, napisanych Kolekcjonowanie)

5.50... Kolekcjonerzy jeszcze nie znaleźli.

2,535

(9 odpowiedzi, napisanych Miejsca w sieci)

Ale poziom wyżej jest coś takiego: http://www.puisoft.co.uk/atari/ataricx8 … fnotes.zip

2,536

(59 odpowiedzi, napisanych Zloty)

Jeśli o mnie chodzi, to ja się dostosuję - jeśli nie styczeń, to może być też luty.

2,537

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

Asie. Pisałem o tych konwerterach tu. Problem jest taki, że nie wszystkie myszy USB działają (być może zmienił się protokół). Moja Logic M-1 kupiona ze 3 lata temu działa, ale już Modecom też M-1(wygląd identyczny) kupiona rok temu nie.

2,538

(341 odpowiedzi, napisanych Fabryka - 8bit)

No gra bardzo dobrze (wyżej u mnie jest jeszcze świetnie i doskonale ;]). Kto robi player do .sid'ów?

2,539

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Tak więc możesz sobie włączyć rysowanie sprajtów przez GTIA i DMA dla sprajtów w ANTICu a wyłączyć DMA dla dlisty, bo można tym sterować osobno.
Skąd kod wie, że jest rysowana linia? Bo wystąpiło przerwania DLI (o ile ustawiłeś je w odpowiedniej linii ekranu) i właśnie CPU w nie wszedł. To którą linię aktualnie rysuje ANTIC/GTIA masz w VCOUNT.
Poziomej pozycji nie ma, ale nietrudno ją wyliczyć (w pamięci) wiedząc w którym cyklu koloru zgłaszane są przerwania DLI i ile cykli koloru trwa jeden takt CPU (trwa 2). Cykl koloru to szerokość jednego piksela w trybie OS 15 (2 pikseli w OS 8).
Tak więc jeśli w przerwaniu masz instrukcje:

pha
pla
rti

to możesz na początek założyć, że Twoja procedura wykona się w 7+3+4+7=21 cyklach CPU a więc w czasie rysowania 42 pikseli GR.15.
7 pierwszych taktów to przyjęcie przerwania przez CPU (odłożenie adresu powrotu + rejestru znaczników na stos, i skok pod adres zawarty w NMIVEC), 3 cykle to pha, 4 cykle to pla, 7 cykli to rti. No i tak dalej.
Ponieważ NMI są obsługiwane przez OS to opóźnienie wynikłe z wykonania rozpoznania źródła przerwania i skoku do wektora DLIV wyglądające tak:

  bit NMIST
  bpl jvblk
  jmp (dliv)
jvblk:
  ... ;to nas nie interesuje
  

zabiera jeszcze 4+2+5=11 cykli CPU.

2,540

(27 odpowiedzi, napisanych Programowanie - 8 bit)

A co wpisałeś do PMGCTL? Jeśli ustawiłeś tam wyświetlanie sprajtów, to GTIA będzie rysowało na ekranie zawartość rejestrów GRAFPx/M. Bity w DMACTL ustawiają tylko DMA ANTICa dla sprajtów (czyli automatyczne przepisywanie zawartości kawałka pamięci do rejestrów GRAFPx/M co linię/dwie).

Edit: Właśnie dzięki temu możliwa jest multiplikacja sprajtów.

2,541

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Przerwanie w trybie tekstowym wykonuje się w ostatniej linii wiersza.

"DLI wywołane od środka linii" to uproszczenie - procedura wywołuje się jak zawsze, ale na jej początku znajduje się opóźnienie.

2,542

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Nosty - musisz zrozumieć, jak sprajty są rysowane na ekranie, żeby je multiplikować. Właściwie całą zasadę da się ująć w kilku zdaniach:

1. GTIA decyduje NA BIEŻĄCO o narysowaniu sprajta na podstawie zawartości rejestru HPOSPx/Mx.
2. Odrysowanie zawartości sprajta następuje na podstawie zawartości rejestru GRAFPx/M, SIZEPx/M, COLPMx, GTIACTL (priorytet).
3. Rejestr GRAFPx/Mx może być wypełniany przez DMA raz na linię (jest to dyktowane specyfiką pracy ANTICa) jeśli jest włączone w DMACTL (VBLKD przepisuje tam wartość z DMACTLS oczywiście jeśli jest włączone) - dane są pobierane z pamięci odpowiednio do stanu rejestrów PMBASE i VDELAY oraz rozdzielczości liniowej ustawionej w DMACTL.

Nikt nie zabrania zapisywania dowolnego rejestru GTIA w dowolnym czasie. Z ANTICem jest nieco inaczej - rejestry możesz zapisywać dowolnie, ale on sam pobiera dane w określonych chwilach.

Widoczność sprajtów na ekranie jest konfigurowana za pomocą PMCNTL.

Najprostsza multiplikacja sprajta wymaga jedynie szybkiej zmiany rejestru HPOSPx/Mx. Jeśli chcesz mieć inną treść to musisz zapisać GRAFPx/M, jeśli rozmiar to SIZEPx/M, kolor to COLPMx, itd.

Pożegnaj się z jakimikolwiek manipulacjami w pierwszej (lub ostatniej? - nie pamiętam) linii każdego wiersza trybu tekstowego, bo ANTIC bierze wtedy dane pamięci ekranu i kształtu sprajtów do bufora. W trybach graficznych tego problemu nie ma.

Edit: Drobiazgi.

2,543

(76 odpowiedzi, napisanych Bałagan)

Ej, Sikor! Poczekaj z koronacją aż ankieta się zakończy. Albo osiągniesz przynajmniej progonozowany sukces.

Dziękuję - dotarło.

2,545

(12 odpowiedzi, napisanych Zloty)

No ja chętnie wezmę te, co zamawiałem - czyli L i S.

2,546

(60 odpowiedzi, napisanych Fabryka - 8bit)

Potestowałem nieco PCLinka na SDX 4.43RC2. No i muszę powiedzieć, że przy ustawionym HSINDEX=3 (a jest to najszybszy, jaki aktualnie działa z SDX) NEOPLAY załadował mi JSETNEO (90kb) w 10s, a GEBOFONa w 40s (250kb). Wszystkiemu towarzyszył wysoki gwizd. Jeśli ktoś nie ma IDEA/KMK, to można to śmiało polecić PCLINKa do użytkowania :)

Note: Eksperymentalnie do SIO2BSD zostało wprowadzone ustawienie prędkości transmisji za pomocą HSINDEX (wartość wpisywana w Atari do POKEYa). Aby to uruchomić należy ustawić parametr -b 0 i podać -i HSINDEX (w tym przypadku 3 - taka wartość brana jest zresztą domyślnie):

$ sio2bsd -b 0 -i 3 ./pcl1_mapped_dir/

po wykonaniu polecenia:

D1: DIR PCL1:

widać ładny katalog z PieCeta.
Oczywiście przed wykonaniem tych czynności należy załadować sterownik PCLINK.SYS.
PCLINK chwilowo konfliktuje z RAMDISK.SYS więc do testów należy go odinstalować - RAMDISK.SYS jest już poprawiony przez Draco i pojawi się w nowym release SDX.

Edit: Chwilowo HSINDEX działa tylko na Linuxach.

2,547

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

Z biblioteką  obsługi VBXE jest jak z OSem - co nas obchodzi jak ona to zrobi? Wywołujesz funkcję i ma działać. Martwimy się jak OS ładuje dane z C:? Nigdy. Kwestia napisania odpowiedniej biblioteki/rozszerzenia OSu.

IMHO taka biblioteka pozwalająca na zarządzenie rdzeniami w VBXE mogłaby być przydatna koderom każdego rodzaju aplikacji do określenia konfiguracji sprzętu. Widziałbym to, jako rozszerzenie OS tak, żeby aplikacje miały dostęp zawsze do aktualnej wersji biblioteki w systemie, a nie do tego z czym aplikacja była skompilowana.

A skoro tak, to deklarowałbym się jako chętny do stworzenia takiego rozszerznia, oczywiście o ile Candle i Electron wyrażą zgodę. Potrzebowałbym jeno konsultacji oraz sugestii ze strony ludzi używających/piszących pod VBXE co mogłoby być w takiej bibliotece potrzebne. Uprzedzam z góry, że do tej pory nic, ale to nic nie napisałem dla VBXE.

2,548

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

drac030 napisał/a:

Razem z zawartością VRAM-u? :P

Ale ok, jeśli wypracuje się system, w którym przełączanie się między rdzeniami będzie w miarę automatyczne, tj. rozpoznanie bieżącego rdzenia, wybór wymaganego, boot, a potem przywrócenie i boot poprzedniego przed wyjściem z programu (ewentualnie rebootem), to nie miałbym zastrzeżeń.

Może w większości przypadków wystarczyłoby tylko skasować zawartość VRAM i zbootować. W końcu rdzeń musi umieć pracować na jakiejś początkowej zawartości VRAM.

drac030 napisał/a:

Jest jedno ale: programiści mają problem z zapisaniem i przywróceniem wektora VBL - to sądzisz, że ci sami programiści nie będą mieli problemu z przywróceniem rdzenia VBXE?

Ci co mają problem z wektorami to pewnie nie :) Ale inni...

2,549

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

Ale przecież FC jakoś potrafi zbootować wybrany rdzeń? Slotów jest 4 (VBXE1) i 13 (VBXE2) więc oprogramowanie, które chciałoby użyć konkretnego rdzenia mogłoby sprawdzić czy takowy jest dostępny, po czym go łaskawie włączyć, a po zakończeniu działania przywrócić stary. Jak user zaś nie ma rdzenia, to ERROR! i dziękujemy.

Edit: ...lub też "ERROR! Proszę załadować wymagany rdzeń", lub jeśli sami go dostarczamy z aplikacją, znajdujemy wolny slot i pakujemy do VBXE. Mogłaby przecież być biblioteka do takich rzeczy dostępna.

2,550

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

Właściwie to najprostszy CPU to taki, co potrafi przesłać z pamięci do pamięci i w przestrzeni adresowej ma:
- program counter,
- rejestr(y) realizujący jakiś operator - najprościej A NAND B bo ono tworzy system funkcjonalnie pełny (za jej pomocą można zrobić każdą operację), choć wygodnie byłoby mieć też A NOR B, A ADD B i A MUL B.