no tak, w tamtym czasie nie potrzebowałem tego. mógłbym dodać skanowanie klawiszy i timeout na VBLu.
Swoją drogą Timer C jest używany przez TOS 2.x i nowsze oraz przez sterownik dysków. Jak to godzisz z Twoją procedurą?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
TURGEN 9.3.0 Kolejna wersja multiplatformowego narzędzia do zarządzania obrazami taśm.
SV 2024 WE - program imprezy Już za tydzień odbędzie się zimowa edycja Silly Venture
Nowa obudowa dla 800XL - zostało 36 dni Niewiele ponad miesiąc do końca kampanii.
Zmarł twórca języka BASIC Zmarł Thomas E. Kurtz twórca języka BASIC
Zmiana serwera atari.area Serwis przeszedł właśnie ważną aktualizację infrastruktury
atari.area forum » Posty przez Cyprian
no tak, w tamtym czasie nie potrzebowałem tego. mógłbym dodać skanowanie klawiszy i timeout na VBLu.
Swoją drogą Timer C jest używany przez TOS 2.x i nowsze oraz przez sterownik dysków. Jak to godzisz z Twoją procedurą?
Karta może wyświetlać na raz trzy warstwy każda z 256 kolorami z palety 16 milionów
Warstwy mogą być między sobą mieszane operacjami: add, sub, overlay oraz xor.
http://ultradev.ultrafex.de/ultraboost.html
Zestaw do programowania: emulator Steem i przykładowy kod:
http://ultradev.ultrafex.de/ultrabooststeemandapi.html
Przykładowe demo:
https://www.pouet.net/prod.php?which=92049
https://www.youtube.com/watch?v=2CukRj5bZuc
@sqward fajne podejście z taskami.
u mnie właśnie przerwanie końca odtwarzania sampla ('Przerwanie_MONO') przełącza task na drugi który ładuje GEMDOSem nowe dane sampli, który to potem wraca do głównego procesu.
Przerwanie_MONO:
move.w #$2700,SR
bclr.b #MFP_MONO,MFP_ISRA.w
; zamiana buforow
move.l Bufor,D0
move.l Bufor+4,Bufor
move.l D0,Bufor+4
move.l Bufor_Koniec,D0
move.l Bufor_Koniec+4,Bufor_Koniec
move.l D0,Bufor_Koniec+4
; nowy adres dzwięku
move.b Bufor_Koniec+3,SDMA_END+4
move.b Bufor_Koniec+2,SDMA_END+2
move.b Bufor_Koniec+1,SDMA_END
move.b Bufor+3,SDMA_START+4
move.b Bufor+2,SDMA_START+2
move.b Bufor+1,SDMA_START
move.w 0(SP),TMP_SR
move.l 2(SP),TMP_ADDR
move.w #$2300,0(SP)
move.l #TMP_Proc,2(SP)
rte
TMP_Proc:
; czytaj plik
move.l Bufor+4(PC),A0
move.l #Bufor_wielkosc,D0
bsr GEMDOS_Fread
cmp.l #Bufor_wielkosc,D0
bpl TMP_Koniec
ST Flaga_SDMA
TMP_Koniec:
TMP_SR EQU *+2
move.w #$2300,SR
TMP_ADDR EQU *+2
jmp *
chodziło mi o to by GEMDOS nie był wykonywany w trakcie przerwania, tylko po zakończeniu przerwania, czyli po instrukcji RTE.
Nigdy tego nie sprawdzałem ale ponoć nie działa albo nie jest zalecane.
Burczenie może wynikać z tego że CPU i SDMA mają osobne kwarce,
doczytałem, kwarc jest wspólny dla CPU i SDMA.
Przykładowy zegar STE: 32 084 988 / 4 = 8 021 247
Częstotliwość odtwarzania:
8 021 247 / 160 = 50 132,79375
VBL PAL:
8 021 247 / 313 / 512 = 50,05270941
Ilość sampli (50066 mono) na VBL PAL
50 132,79375 / 50,05270941 = 1001,6
---edycja---
w sieci znalazłem info że zegar STE dla PAL to 8 021 247 (kwarc 32 084 988) a dla NTSC 8 010 600 (kwarc 32 042 400)
1) na VBL - to co Adam napisał brzmi dobrze, na VBLu dane ładowane sektorami (bo szybciej) ale wielkość bufora raczej większa, na 2 VBLe (np 2x512 bajtów), tak by podczas jednego VBLa ładować bufor który się właśnie nie odtwarza.
2) na przerwaniu kończącym pętlę odtwarzania - Timerze A albo Mono. Tutaj zrobiłem tak że miałem dwa bufory (odtwarzany i oczekujący na odtwarzanie), na przerwaniu zmieniałem bufor do odtwarzania i ładowałem dane do bufora który czeka w kolejce. Z tym że procedura ładowanie danych GEMDOS była wstrzykiwana po przerwaniu bo musiała być wykonywana w trybie USER a nie SUPERVISOR.
Burczenie może wynikać z tego że CPU i SDMA mają osobne kwarce, więc za każdym VBLem trzeba doczytać inną ilość sampli, a ty stosujesz stały bufor, więc mogą robić się 'dziury'.
Zresztą te 50Hz jest umowne i zależy od zegara CPU (Do STE były wkładane chyba ze dwa różne). W ST w trybie "50Hz" VBL = CPU clock / 313 / 512. w trybie "60Hz" VBL = CPU clock / 262 / 508. Dla TT będzie też inaczej, tylko jeden tryb, coś koło 59Hz, nie pamiętam teraz dokładnych cyklów.
Dodatkowo, SDMA ma 8bajtowy bufor FIFO, no i przerwanie czy liczniki pokazują stan załadowania danych do bufora a nie stan aktualnie odtwarzanych danych. Na Atari-forum ktoś kiedyś podawał jak obliczyć wielkość bufora na ramkę, poszukam.
Tak się zastanawiam czemu robisz to na VBL, kod tego wymaga?
Otóż to.
200 razy na sekundę występuje przerwanie gdy "Timer C Data" osiągnie wartość 0. Rejestr "Timer C Data" zmniejszany jest 38 400 na sekundę, a inicjowany jest wartością 192.
Z tym że, we wspomnianym przeze mnie wariancie przerwania nas nie interesują (bo są zablokowane) ale zmiana stanu "Timer C Data". Jeśli 38 400 na sekundę to za mało to można przeprogramować MFP.
Zegar MFP to 2 457 600. Rejestr "Timer A/B/C/D Control" (dzielnik do wybrania to: 4 / 10 / 16 / 50 / 64 / 100 / 200) decyduje z jaką prędkością zmniejszany jest (o wartość "1") rejestr Timer A/B/C/D Data.
Domyślnie Timer C ma "Timer Control" ustawiony na podzielnik 64 , czyli "Timer C Data" zmniejszany jest z prędkością 38 400 na sekundę. "Timer C Data" ma domyślną wartość 192, czyli 38 400 / 192 równa się właśnie 200 razy na sekundę.
Przykładowo, dla "Timer A/B/C/D Control" ustawionego na podzielnik 4, rejestr "Timer A/B/C/D Data" zmieniany jest 614 400 razy na sekundę.
Jak mierzymy?
var Poczatek = "Timer A/B/C/D Data"
--- tu coś robimy
var Koniec = "Timer A/B/C/D Data"
var Czas = Koniec - Poczatek
Jeszcze jedna uwaga, rejestr "Timer A/B/C/D Data" jest 8 bitowy, więc przy obliczeniach trzeba wziąć pod uwagę że się 'przekręci'.
najprościej w emulatorze typu Steem Debugger albo Hatari.
Na timerach można różnymi metodami, np. można zablokować wszystkie przerwania "move #$2700,SR" a potem odczytywać licznik Timer C. Jego wartość jest zmniejszana o jeden 200 razy na sekundę
Tak jak @prz napisał, warto zrobić tu mały porządek
@VLX, nasz forumowy kolega @artik-wroc robi TT-RAMy w dobrej cenie.
Kości pamięci trzeba załatwić sobie we własnym zakresie.
Hmm, 9 tysi za golasa (no dobra, 32MB TT-RAM kontra 128MB TT-RAM) w gorszym stanie kontra 13 za wypasioną wersję? Chyba jednak tamta się póki co bardziej opłaca...
jeśli ktoś potrzebuje gotową/kompletną maszynę, dodatkowo wyglądającą ładnie to czemu nie, zestaw za 13k PLN może być w sam raz. Ciekawe jest to że właściciel nie zamontował portów USB.
Ten przykładowy za 9k PLN to nie golas ale kompletna maszyna: klawiatura, mysz, 4MB ST RAM, 32MB TT RAM no i tańsza. Z równoważnych rzeczy to brak adaptera kart SD i przejściówki ECL2VGA, no i odrobiny perhydrolu :) Jak ktoś lubi sam wybielać to 4k PLN zaoszczędzi.
W sumie to dawno nie byłem na ebay bo zatrzymałem się na cenie 3K pln za taki konfig
tak, Atari na dyskietce dostarczało akcesorium do regulacji głośności, EQ i panoramy.
Np. Xcontrol - "Sound setup": https://sites.google.com/site/stessenti … placements
Cyprian napisał/a:Dodatki - są fajne ale nie ma ich za dużo, ich rynkowa cena też jest przystępna:
Nom. Wychodzi ~500 dolarów za same dodatki, dodaj do tego przesyłki i obecną dostępność i wyjdzie pewnie jeszcze +25% :)
jasne, z tym że są one raczej zbędne, albo można mieć to samo taniej:
Twardy dysk - jeden tańszy SatanDisk zamiast tych dwóch: SCSI2SD / Thunder IDE interface.
Monitor - E2CLVGA - wszystko co trzeba autor wrzucił to na GIThub
TT RAM - Storm TT RAM card - tego akurat jest sporo w dobrej cenie na ebayu
Lightning VME USB interface - fajna sprawa ale raczej dla maniaków, dla zwykłego użytkownika mouSTer będzie dużo tańszym rozwiązaniem
Najważniejsze, że tu mamy licytację, która przeważnie oddaje najlepiej aktualność wartość, a nie "Kup teraz".
słusznie, widzę właśnie że ceny poszły sporo w górę:
Falcon: https://www.ebay.pl/itm/384921960791
Mega STe: https://www.ebay.pl/itm/334587884790
widzę inną TT, może nie tak białą ale 4k PLN tańszą: https://www.ebay.pl/itm/225076121359
dobra wiadomość!
Na pierwszy rzut oka to całość robi dobre wrażenie. Z tym że obudowa jest wybielana. Widać to na zdjęciu lewej strony - góra biała, dół żółty. Klawiatura QWERTY - spoko. Dodatki - są fajne ale nie ma ich za dużo, ich rynkowa cena też jest przystępna:
SCSI2SD - $149 125530781899
E2CLVGA - $65 www.legacypixels.com/atari/
Storm TT RAM card- 70€ (cena z 2017)
Lightning VME USB interface - 110 EUR (cena z 2019)
Thunder IDE interface - 70€ (cena z 2017)
Tak więc @Sikor, jakbyś potrzebował Teslę to perhydrol w łapę i do dzieła :)
@Sikor jakbyś włączył wszystkie swoje TTtki to pewnie w okolicy światła by przygasły ;)
13k pln za TT to jednak kosmos
One były wypuszczone przez niemiecki oddział Commodore ponoć z okazji milionowej Amigi. Było kilka wersji. Można o tym poczytać m.in. tutaj: http://www.bambi-amiga.co.uk/amigahisto … ecial.html,
http://www.classiccomputer.de/com/a500w1.jpg.
Tę wersję z kulkami pamiętam z giełdy na Grzybowskiej. Jeden z przegrywaczy takiej używał to "legalnego" wówczas przegrywania gier :). Kwestia dyskusyjna czy było to faktycznie upiększenie komputera ;).
sam pomysł malowania obudowy marketingowo jest dobry, szkoda że Atari czegoś takiego nie wprowadziło.
jednak patrząc na te wzory to raczej bym ich nie wybrał
Ta z kulkami jest całkiem fajna. Drygol też robi(ł) ciekawe:
https://retrohax.net/3-amigos-err-amiga … -printing/
https://retrohax.net/atari-the-frankenstein-series/ (pod koniec strony)
I kojarzę (może źle) że jeszcze robił tak C64?
te nadruki są za to git
Czyzby wojna atarowa przeszła do realu?
W końcu coś się ciekawego dzieje :)
słusznie :)
Tym bardziej, że przecież nie kupujesz niekoszernych urządzeń...
abstrahując od tematu dyskusji, IT to nie miejsce na religijne zabobony
koszerne, halala czy chrzczone... jest to temat dla katabasów a nie na forum IT
:)
oczywiście od lewej do prawej, dopadła mnie pomroczność jasna i zmieniłem z "z lewej do prawej" na "z prawej do lewej"
w żadnej
tam mają zintegrowany monitor który po prostu nie wygasza plamki na powrocie, licząc na to że reszta to zrobi (miało być tanio)
ok, ale w którejś części linii jednak te dane są wystawiane
to jest licznik "odpowiedzi" a nie postów, czyli pierwszy wpis nie jest wliczany
jestem ciekaw w której części linii trzeba wyświetlać by były poprawnie widoczne na ekranie:
http://martin.hinner.info/vga/pal.html
yep, SB's EMU8000 would be cool, but anyway YM2203 is also ok
atari.area forum » Posty przez Cyprian
Wygenerowano w 0.145 sekund, wykonano 12 zapytań