576

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

@sqward a jakie problemy masz na myśli?

577

(28 odpowiedzi, napisanych Bałagan)

fajne, taki Numen na Spectrum

578

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

a widzicie, interfejsu nie miałem ale pod koniec XX albo początku XXI wieku czytałem na grupach dyskusyjnych różne opinie na jego temat

579

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

TOS ma wsparcie dla autoboot portu cartridge, a może więc da się poprawić ten interface by startował bez dyskietki?

580

(893 odpowiedzi, napisanych Scena - 8bit)

Jacques napisał/a:

A poza tym chyba powstaje ciekawy duet, jako żywo:

https://pbs.twimg.com/media/Dzm9Y_hWsAI9b6-.jpg
Będzie miauu nr 16?

Dobre

581

(893 odpowiedzi, napisanych Scena - 8bit)

laoo/ng napisał/a:

Co do następcy 6502 to miał nim być MCS65E4. Wyspecyfikowany w 1982 roku, ale specyfikacja szybko wylądowała w szufladzie. Wspominam o nim nie bez przyczyny, gdyż zawierał dość rewolucyjną ideę: z punktu widzenia programisty nie miał mieć ŻADNYCH rejestrów. Wszystkie operacje miały być wykonywane na pamięci.

cytat z tej strony: "- Clocked at 8MHz for a 2MHz memory cycle", jak widać z jakiegoś powodu poszli ścieżką 68000


laoo/ng napisał/a:

W przypadku 68000 w Atari ST ja nie widzę, ŻADNEJ przyczyny dlaczego w określaniu długości instrukcji nie miałoby się operować liczbą dostępów do szyny zamiast liczbą cykli, skoro każda akcja procesora jest zaokrąglana w górę do wielokrotności czterech, czyli do cyklu dostępu do pamięci. Nawet na własne potrzeby przygotowałem sobie dokument wyliczający liczbę dostępów do szyny dla każdej instrukcji i w mojej głowie jakoś układa się to o wiele lepiej, bo jest bardziej podobne do taktowania 6502.


nie mam pojęcia czemu tak jest.
Wiem że 68000 ma 16 bitowe ALU, co oznacza że wymaga dwóch cyklów dla 32bitowych obliczeń, być może dotyczy to również obliczenia adresu pamięci wystawionego na szynę adresową.

582

(893 odpowiedzi, napisanych Scena - 8bit)

PilotZmii napisał/a:

65816 musi pracować na 8-bitowej magistrali. Apple II GS i SNES nadal działają wolniej niż 68000 i x86, ponieważ nie mogą zapisywać 16 bitów lub więcej w pamięci jednocześnie.
Kiedy działałoby lepiej, gdyby ktoś wymyślił procesor kompatybilny z 6502, który mógłby wykonać instrukcję na cykl zegara.

procesory wykonujące instrukcję na cykl były w latach 80tych,chociażby następca 6502 czyli ARM.
Wąskim gardłem tutaj niestety jest czas dostępu do pamięć. Już w latach 80tych pamięć była parokrotnie wolniejsza od procesora, w dzisiejszych czasach 100 krotnie albo i więcej (jeśli wierzyć w ostatni slajd z prezentacji https://tildesites.bowdoin.edu/~sbarker … lec18.pdf).

Przykładowo, mając procesor wykonujący jedną instrukcje na cykl: w Atari ST procesor musiałby być taktowany zegarem 2MHz, w Amigach 500 / 1200 / 3000 / 4000, 1,77MHz a w Atari Falcon 4MHz, gdyż z taką częstotliwością procesor ma dostęp do pamięci (konkretnie do ST-RAM, Chipram i rejestrów sprzętowych) w tych komputerach.

583

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Ok

584

(893 odpowiedzi, napisanych Scena - 8bit)

Matej napisał/a:

65c816 - Data width 8 (external) 16 (internal) Address width 24.
To jest processor spectacular :).
That Apple2GS / Snes demos was just little inspiration. What we can have with VBXE/SimpleStereo4/I like 65c816 Rapidus as I own Apple2 GS and PC-Engine(6502 but 16bit gpu best "8bit" console). BTW the current version from WDC, the W65C02S-14 has a fully static core and officially runs at speeds up to 14 MHz (so possible to keep 8bit but like Witcher by 7bit turbocard on Amiga using overclocked 68000 to 50mhz). So maybe low cost cheaper 8bit "Mini Rapidus" or on cartridge is possible too to stay 8bit same but more powerful. On other hand I think there is space for 64kb, Atari XE/XL, stereo demos too with using fast sd-card loading lot of parts or cartridge and with nice design, style. On Forever party I was watching lot of 64kb C64 demos (only very few guys had like 128kb C128 or C64 512kb expansions so almost all demos used standard c64) but demos was OK some very nice. Not so good as on Atari I mean no 3Ds and more complex effects. But nice pixelart, design, rotator etc. So there is also space for 64kb Ataris too or 256kb. But as for future I want see also demos, games using upgrades too. As on Falcon with turbocard.

That was a cool demo, I've found making of it https://www.youtube.com/watch?v=glWIf0gfWSE


I see that Apple2GS in term of audio was a real beast, superior to any computer till '92 when Atari Falcon was released.
Apple2GS  has the same audio chip "Ensoniq 5503" (SID successor) as Ensoniq ESQ-1 (I had ESQ-2 - great synth btw) - 32 oscillators paired in 16 voices. This was a real computer audio revolution.

Btw Apple2GS "fill mode" is the same as Atari TT's "smear mode" - for fast drawing vectors

585

(5 odpowiedzi, napisanych Programowanie - 16/32bit)

tak, np. z trybu SUPERVISOR:

    clr.l $420.w
    move.l $4.w,a0
    jmp (a0)

można jeszcze dorzucić instrukcję: "reset"

586

(12 odpowiedzi, napisanych Fabryka - 16/32bit)

czekam na odpowiedź od Olafa kiedy bzie dostępne no i jaka będzie cena.

Jeśli chodzi o grafikę to dobre pytanie jakie są tam rozdzielczości. Z tego co doczytałem to warstwa 1 i 2 jest generowana przez SHIFTER (nieparzyste linie warstwa 1, nieparzyste - 2, czyli 32kB łącznie na obie warstwy), a 3 z wewnętrznej pamięci karty 16kB.

587

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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ą?

588

(12 odpowiedzi, napisanych Fabryka - 16/32bit)

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

589

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

@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    *

590

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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.

591

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

Cyprian napisał/a:

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)

592

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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.

593

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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?

594

(25 odpowiedzi, napisanych Bałagan)

Otóż to.

595

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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'.

596

(18 odpowiedzi, napisanych Programowanie - 16/32bit)

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ę

597

(893 odpowiedzi, napisanych Scena - 8bit)

Tak jak @prz napisał, warto zrobić tu mały porządek

598

(6,252 odpowiedzi, napisanych Kolekcjonowanie)

@VLX, nasz forumowy kolega @artik-wroc robi TT-RAMy w dobrej cenie.
Kości pamięci trzeba załatwić sobie we własnym zakresie.


Sikor napisał/a:

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

599

(1 odpowiedzi, napisanych Software, Gry - 16/32bit)

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

600

(6,252 odpowiedzi, napisanych Kolekcjonowanie)

dely napisał/a:
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


dely napisał/a:

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