Autor Wątek: SPECTRA - coś fajnego.  (Przeczytany 15522 razy)

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #15 dnia: 2012.08.27, 22:06:52 »
Ale przecież double buffering jest zrobiony w przestrzeni adresowej ARM-a (czy co tam siedzi), a nie ZX-a. Procesor Z80 nie "widzi" dodatkowej pamięci.

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: SPECTRA - coś fajnego.
« Odpowiedź #16 dnia: 2012.08.27, 22:11:01 »
CPLD nie ARM ;)

I o to własnie chodzi - ustawiasz pierwszą stronę, zapisujesz bajt, przestawiasz na drugą, zapisujesz drugi bajt, przełączasz na pierwszą i czytasz zapisany bajt - w normalnym podwójnym buforowaniu dostajesz w tym miejscu pierwszy bajt w wypadku rozwiązania jak w Spectrze - drugi.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #17 dnia: 2012.08.27, 22:28:54 »
Co najmniej dziwne. jesteś pewien? Po co to jest tak zrobione?

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: SPECTRA - coś fajnego.
« Odpowiedź #18 dnia: 2012.08.27, 22:35:21 »
Nie rozumiem pytania. Czego niby mam być pewny? Zasady działania mechanizmów stronicowania pamięci i podwójnego buforowania? Oczywiście, że jestem. I oczywiście mój poprzedni post był odrobinę uproszczony - przełączanie realizuje się podwójnie - osobno zakres pamięci, osobno wyświetlany ekran. Ale jeśli masz pod tym samym adresem dostęp do dwóch różnych framebufferów i port przełączający który framebuffer jest wyświetlany i do którego jest dostęp (nie wiem jak to dokładnie działa w Spectrze, ale przełącznik dla uproszczenia konstrukcji może być jeden - wyświetlamy ekran 1, dostęp mamy do ekranu 2 i na odwrót) to zakładając, że masz dostęp do odczytu do obu bloków pamięci będziesz mógł przeczytać to, co zapisałeś przy poprzednim dostępie. Jeśli - tak jak to robi Spectra - buforowanie działa tylko w jedną stronę odczytać możesz wyłącznie ostatni zapisany bajt niezależnie od tego do którego bufora w Spectrze trafił zapis. Po prostu przy zapisie/odczycie zawsze dostajesz dane z normalnego RAMu a ten jest jeden :)

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #19 dnia: 2012.08.27, 22:49:10 »
No i właśnie zacząłeś przypuszczać, dlatgo wczesniej napisałem - "ask the author", a później zapytałem, czy WIESZ, jak jest zrealizowane to podwójne buforowanie. Nie wiesz, ja nie wiem, nie wynika to z dostępnej dokumentacji. Gdybamy.
Z mojego gdybania wynika, że raczej nie masz racji - robiąc duble buffering na jednokostkowcu najprościej jest oba bufory obrazu umieścić w rozdzielnych przestrzeniach pamięci. Bo tak jest prościej. To układ generowania obrazu jest "karmiony" spod jednego lub drugiego adresu. Bo tak jest prościej i wygodniej, tak działał protoplasta wszystkich (sensownych) generatorów obrazów, 6845 - po prostu wyczytywał dane spod określonej lokalizacji i budował z tego sygnał wideo.
A co do odczytu (przez Z80) - tak, jak napisałeś - odczytasz tylko to, co wpisałeś ostatnio do pamięci Spectruma, bo do pamięci CPLD nie sięgniesz. Zecik 80 ma na to za krótkie nóżki ;-)

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: SPECTRA - coś fajnego.
« Odpowiedź #20 dnia: 2012.08.27, 23:05:26 »
Ok. Przestałem przypuszczać - przeczytałem manual i teraz już WIEM jak to działało i jak działa.

Spectra v1 miała dwa tryby podwójnego buforowania. Bit 5 (Screen bank A/B) przełączał dwa pełne 16 kilowe bufory. Bit 6 (screen 0/1) przełączał dwa standardowe ekrany pod adresami 4000 i 6000. Ten drugi to prawdziwe podwójne buforowanie - można pisać do innego ekranu niż ten, który jest wyświetlany. Ten pierwszy przełącza bank - jak rozumiem równocześnie przełączając wyświetlany ekran zgodnie z bitem 6.

Według erraty w najnowszej wersji zachowanie to zostało zmienione - teraz oba bity realizują prawdziwy podwójny bufor. Bit 5 teraz przełącza który ekran jest wyświetlany, bit 6 przełącza bufor mapowany w pamięć Spectrum.

Czy taka odpowiedź cię satysfakcjonuje?

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #21 dnia: 2012.08.27, 23:18:55 »
Wręcz szokuje :)
Dzieki za dociekliwość!

tooloud

  • *****
  • Wiadomości: 3188
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: SPECTRA - coś fajnego.
« Odpowiedź #22 dnia: 2016.11.29, 08:57:31 »
to tylko odkopując dodam, że trzy lata po tym wątku wyszło SPECTRA+128.

http://www.fruitcake.plus.com/Sinclair/Spectrum/Spectra/SpectraInterface.htm

i nadal jest to dostępne.
dużo sprzętu mało czasu.

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #23 dnia: 2016.11.29, 12:04:39 »
Wyszlo i przyszlo. Obraz zyleta, jak dla mnie za ostro. Ze 128K jeszcze nie sprawdzalem.

tooloud

  • *****
  • Wiadomości: 3188
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: SPECTRA - coś fajnego.
« Odpowiedź #24 dnia: 2016.11.29, 13:12:44 »
to jest ta wersja z 2015 czy z 2012 po jakiejś aktualizacji?
dużo sprzętu mało czasu.

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #25 dnia: 2016.11.29, 15:04:44 »
SPECTRA128 to zwykla SPECTRA tylko nieco przerobiona. Sam kiedys dopytywalem sie mozliwosc zrobienia wersji dla 128K i jak widac w koncu powstala. Z ciekawych opcji ma dual-screen - mozna sobie wybrac bank VRAM ktory wyswietla przez SCART. O ile ktos napisze SW he, he :-)  Wykonanie jest solidne - Paul jest szczegolarzem, np. nozki, dzieki czemu nie wisi na zlaczu. Modyfikacje PCB sa praktycznie niewidoczne. No i jest fixer dla +2A/+3, ale jeszcze nie sprawdzalem.

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #26 dnia: 2016.12.11, 22:34:50 »
Podlaczylem SPECTRE do szarego 128K i kapnalem sie, ze musze zrobic sobie kolejny kabel, bo oczywiscie standardowo nie ma dzwieku przez TV. Ponadto zauwazylem ze czasem wystepuja migajace piksele na krawedziach np. znakow. Podlaczylem CPC6128 i teraz widze, ze tez sie zdarza, wiec to cos ma zwiazek z TV (?). Musze sprawdzic z CRT, co nie bedzie proste.

Ogolnie jest jeden fajny tryb - half cell, ktory daje 1x4 piksele w linii, ale niestety tlo jest zawsze czarne dla calego ekranu. Byc moze stosujac przerwania daloby sie cos wiecej wycisnac, ale z tego co wyczytalem, to SPECTRA pobiera po i tak cale bajty, wiec mozliwosci sa ograniczone.
Do sprawdzenia mam jeszcze dzialanie z divIDE - na razie jade na SMARTCARD..

tooloud

  • *****
  • Wiadomości: 3188
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: SPECTRA - coś fajnego.
« Odpowiedź #27 dnia: 2016.12.12, 11:21:53 »
a jesteś w stanie jakiś screengrabberem nagrać sygnał/obraz z tego?
dużo sprzętu mało czasu.

ZX Freeq

  • *****
  • Wiadomości: 1835
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #28 dnia: 2016.12.12, 11:45:39 »
To nowy SECTRA Interface można kupić? U Paula? Z ponad rok temu na S4E wywiązała się dyskusja na temat dostępności i konkluzja była taka, iż mimo informacji na stronie, Paul nowych nie robi, a stock = 0.....
ZX80|ZX81+16kB+PandAY|ZX 48k/+/128k+/+2/+2A/+3/Vega/Next|QL+QIDE|JS128|Timex 2048+2040|UK2086|FDD3000+3.5''|AY|ZX HD|Divide2k11/2k14|DivMMC/PicoDivSD|BetaDisk 128|Opus|Masakrator FM|If 1/2/Microdrv|Multiface 1|+2A\B SDI-1|SJS 1/2|ZX Printer|TZXDuino|+3 HxC USB|ZXUno|Omni
Z88|A500/600|PC200|Ent128

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: SPECTRA - coś fajnego.
« Odpowiedź #29 dnia: 2016.12.12, 12:47:52 »
Mozna kupic, Paul chyba ma zapas swoich wynalazkow.

Teoretycznie zgrac moge, ale jako ze to SCART to musze wpiac w nagrywarke DVD, a to chwilowo niemozliwe.