1

Temat: Rapidus - zmiana koloru w linii

zastanawialiście się ile zmian w linii można uzyskać dzięki szybkości Rapidus-a ? Test dotyczy pamięci konwencjonalnej, a nie liniowej Rapidus-a. W Altirrze można włączyć CPU 65816 na 21MHz i uzyskamy ten sam efekt jak na prawdziwej dopałce.

Zmiany przeprowadzane są w "prostacki" sposób, lda#, sta colbak. Zmiany są szersze z lewej strony ekranu jednak ta szerokość jest stała, druga połowa ekranu (prawa) to zmiany co bajt. Ogólnie zmian w linii jest 44, to oznacza że z ledwością mieścimy się w pamięci $800..$BFFF dla 200 linii obrazu. Zdecydowanie takie zabawy wymagają dodatkowej pamięci liniowej Rapidusa. Mapa kolorów bez udziału VBXE jest teraz możliwa :)

Post's attachments

rapidus_raster.zip 4.34 kb, liczba pobrań: 25 (od 2017-01-15) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

Odp: Rapidus - zmiana koloru w linii

Ciekawe, że na małym Atari trzeba się tak popychać z COLBAK w linii, a na Spectrumie 128k udało mi się podobny efekt osiągnąć w parę godzin. Niestety tylko co 4 linie, co 1 linię można dopiero w Pentagonie/Evolution.

.: miejsce na twoją reklamę :.

3

Odp: Rapidus - zmiana koloru w linii

Na realnym HW wygląda dość ciekawie. No i mam akurat to szczęście w postaci jednego z trzech Rapidusów działającego z chyżością 20MHz ;)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

4

Odp: Rapidus - zmiana koloru w linii

Rozumiem, że reszta Rapidusów jest wolniejsza - czyli robienie klienta w jajo ;P

Sikor umarł...

5

Odp: Rapidus - zmiana koloru w linii

Wydaje mi się, że nie warto iść w tym kierunku - Atari na standardowym 6502 miały stałą prędkość zegara i tam można było bawić się w "cyklowanie", tutaj możemy mieć do czynienia z różnymi prędkościami zegarów poza tym synchronizacja z wolniejszymi układami może powodować pewne opóźnienia, które niekoniecznie są "teoretycznie pewne" jak wartości cykli zegara. No chyba, że Rapidus ma jakiś rejestr, który umożliwia stabilne uzyskanie odmierzania czasu dużo precyzyjniej niż kombinacje VCOUNT i WSYNC, wtedy można się zastanawiać.

Poza tym, skoro ktoś zdecydował się na Rapidusa, to istnieje spora szansa, że ta sama osoba posiada również VBXE, a w takim wypadku zabawa ze zmianą kolorów w linii zdecydowanie traci sens.

Ostatnio edytowany przez macgyver (2017-01-16 09:05:09)

6

Odp: Rapidus - zmiana koloru w linii

Każdy zapis/odczyt IO jest synchronizowany z zegarem 1.77 MHz więc to nie zależy od prędkości Rapidusa (a przynajmniej w ograniczonym stopniu). Przy zegarze 21MHz na cykl 1.77 przypada 11 cykli Rapidusa, przy 14MHz 8 oidp, itd. Można to opanować.
Skąd się biorą wolniejsze zmiany po lewej stronie? Z tego samego powodu, co przy zwykłym 1.77MHz - bo ANTIC korzysta wtedy z DMA więc cykle zapisu CPU są haltowane.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

7

Odp: Rapidus - zmiana koloru w linii

Z tego co wiem, większość Rapidusów wyjechała do zachodnich krain, w Polsce pewnie z ~5 użytkowników można znaleźć, jeśli są to inne szybkości zegara, to raczej Antonia i inne pochodne. Szybkość zegara można odczytać, procka Draco jest m.in. w paczce do MadPascala (lib\misc.pas, DetectCPUSpeed). Skoro znamy szybkość zegara i wiemy że większość użytkowników ma np. 14MHz to możemy pod taki standard pisać.

Rocky ma Rapidusa, nie ma VBXE :) a jest zainteresowany zwiększeniem możliwości graficznych przy użyciu większej mocy CPU. Wyobrażacie sobie edycję programu rastra z 44 pozycjami ;) masochizm.

p.s.
Ilmenit mógłby dodać taką możliwość do RastaConvertera, więcej, gęstszych zmian w linii.

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

8

Odp: Rapidus - zmiana koloru w linii

Wszystkie Rapidusy sprzedawane przez Lotharka pracują na 20MHz.

Ostatnio edytowany przez pasiu (2017-01-16 12:21:17)

9

Odp: Rapidus - zmiana koloru w linii

Mój jeszcze w pudełku leży, ale u lotharka i w Atariki jest 20 MHz.
Też nie mam jeszcze VBXE (ma wciąż przyjść z USA, to nie zamawiam nowego).

10

Odp: Rapidus - zmiana koloru w linii

pasiu napisał/a:

Wszystkie Rapidusy sprzedawane przez Lotharka pracują na 20MHz.

I tu jest konkretna odpowiedź. Z postu Pin-a wynika, że w Polsce są trzy takie sprzedane, reszta to zachód ;)

Sikor umarł...

11

Odp: Rapidus - zmiana koloru w linii

dajcie jakieś foto tego rastra z realnego sprzętu

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

12

Odp: Rapidus - zmiana koloru w linii

macgyver napisał/a:

No chyba, że Rapidus ma jakiś rejestr, który umożliwia stabilne uzyskanie odmierzania czasu dużo precyzyjniej niż kombinacje VCOUNT i WSYNC, wtedy można się zastanawiać.

Z tego, co pamiętam, próbowałem Autora na taki rejestr namówić, ale jakoś bez powodzenia. Można próbować użyć timerów Pokeya, rzecz w tym, że są mało precyzyjne (1 cykl pracy Pokeya = 11,277478987237277030143573584987 cykli pracy CPU Rapidusa).

Część ułamkowa w powyższym nawiasie sygnalizuje, że ułożenie się jednego zegara względem drugiego może być mało deterministyczne. To czyni cyklowanie trudnym nawet w sytuacji, kiedy wszystkie Rapidusy pracują z zegarem 20 MHz (dla rozwiania wątpliwości: karty produkcyjne działają na 20 MHz, 16 MHz miały tylko starsze prototypy).

KMK
? HEX$(6670358)

13

Odp: Rapidus - zmiana koloru w linii

ten kto nie ma Rapidusa, może użyć Altirry, System -> Cpu Options... -> 65C816 (21.48 MHz) i będzie miał efekt Rapidusa 20 Mhz

więc można pisać pod Rapidusa przy pomocy Altirry

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

14

Odp: Rapidus - zmiana koloru w linii

Na Altirze mamy główny zegar 1,773 MHz, a w turbo mamy mnożnik całkowity, tzn. 1,773*12=21,28 MHz.

Na Rapidusie mamy główny zegar 20,000 MHz, a dzielnik do zegara płyty głównej mamy niecałkowity: 20/11,2774... = 1,773...

Ostatnio edytowany przez drac030 (2017-01-16 17:46:07)

KMK
? HEX$(6670358)

15

Odp: Rapidus - zmiana koloru w linii

pasiu napisał/a:

Wszystkie Rapidusy sprzedawane przez Lotharka pracują na 20MHz.

no to przepraszam, miałem błąd w matrix'ie i złe dane na temat wersji - pewnie jeszcze przedprodukcyjnej :)

mniejsza z tym.

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

16

Odp: Rapidus - zmiana koloru w linii

@Cyprian:

obrazek :)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

17

Odp: Rapidus - zmiana koloru w linii

A ta linia na samym dole to co to jest?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

18

Odp: Rapidus - zmiana koloru w linii

Miałem o to pytać właśnie ;)

Generalnie nie ma znaczenia jak to odpale. Uruchamiałem z dosa, i z sdload (pbi_bios IDE+). W obu przypadkach wygląda to tak samo.

Z loadera dopaliłem w Rapidusie wszystkie banki podstawowego ramu, a pod Spartą wiadomo - wyłączyć trzeba "RAM #2".

Ostatnio edytowany przez Pin (2017-01-16 22:08:21)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

19

Odp: Rapidus - zmiana koloru w linii

mono napisał/a:

A ta linia na samym dole to co to jest?

Stawiam, że te zmiany koloru, co wyżej, tylko na pustej linii zamiast GR. 15.

https://www.youtube.com/watch?v=jofNR_WkoCE

20

Odp: Rapidus - zmiana koloru w linii

drac030 napisał/a:

Z tego, co pamiętam, próbowałem Autora na taki rejestr namówić, ale jakoś bez powodzenia.

Byłem skłonny to dodać, ale dopiero po tym jak ruszy produkcja u Lotharka.  Niestety z różnych powodów minęła mi ochota na dodawanie kolejnych rzeczy, więc oprócz ewentualnych fix-ów, w najbliższym czasie raczej nic nowego nie pojawi się. A pomysłów było więcej...

21

Odp: Rapidus - zmiana koloru w linii

A takie rzeczy by się dało zrobić / wgrać bez zewnętrznych programatorów?

22

Odp: Rapidus - zmiana koloru w linii

Pin napisał/a:

@Cyprian:

obrazek :)



dzięki,

to teraz pora na nowe tryby graficzne :)

Ostatnio edytowany przez Cyprian (2017-01-17 22:47:43)

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

23

Odp: Rapidus - zmiana koloru w linii

lemiel napisał/a:

A takie rzeczy by się dało zrobić / wgrać bez zewnętrznych programatorów?

Tak, wsad do fpga fleszuje się z poziomu Atari. Jest to plik ok. 30kB, który wgrywasz z poziomu dosa (z loadera też chyba pójdzie, ale tego nie sprawdzałem).

24

Odp: Rapidus - zmiana koloru w linii

@pasiu: po namyśle dochodzę do wniosku, że chwilowo bez takiego licznika można się obyć, skoro zapis/odczyt rejestrów I/O synchronizuje CPU do zegara 1,77 MHz (taki wsync, tylko z większą granulacją).

Natomiast coś w rodzaju koproca robiącego 32-bitowe mnożenie/dzielenie fixed point w parę cykli to nadal byłaby fajna rzecz, myślę :)

@tebe: a gdyby użyć STA w trybie adresowania zp zamiast abs, nie zwiększyłoby to częstości zmian koloru w linii? Bo rejestry GTIA można zapisywać przez STA zp, wystarczy tylko wcześniej ustawić rej. D na $D000 (lda #$d000 / tcd albo pea $d000 / pld).

Ostatnio edytowany przez drac030 (2017-01-19 14:15:27)

KMK
? HEX$(6670358)

25

Odp: Rapidus - zmiana koloru w linii

:) Implementacja prostego timer'a byłaby stosunkowo łatwa.
Jeżeli mnie pamięć nie myli to oprócz wspomnianego koprocesora rozważany był też blitter.

Czy wrzucenie powyższych rzeczy pomogłoby w rozwinięciu emulca ZX-a o model 128? :D