1

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

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

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 ;)

Kontakt: pin@usdk.pl

4

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

Sikor umarł...

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

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.

6

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

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 Ostatnio edytowany przez pasiu (2017-01-16 12:21:17)

Wszystkie Rapidusy sprzedawane przez Lotharka pracują na 20MHz.

9

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

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

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

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

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 Ostatnio edytowany przez drac030 (2017-01-16 17:46:07)

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

KMK
? HEX$(6670358)

15

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.

Kontakt: pin@usdk.pl

16

@Cyprian:

obrazek :)

Kontakt: pin@usdk.pl

17

A ta linia na samym dole to co to jest?

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

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

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

Kontakt: pin@usdk.pl

19

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

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

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

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

Pin napisał/a:

@Cyprian:

obrazek :)



dzięki,

to teraz pora na nowe tryby graficzne :)

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

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 Ostatnio edytowany przez drac030 (2017-01-19 14:15:27)

@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).

KMK
? HEX$(6670358)

25

:) 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