Technicznie Thanks for... znaczy Dzieki za..., gdzie Thanks to... by znaczylo Dzieki dla...
Ale to oznacza tylko, ze nie ma sie do czego przyczepic :)
Super to wyszlo.
Pozdro.
Po prostu zwykła "literówka"czyli "czeski błąd".
o o to czy "tnx" jest poprawne czy raczej stosować "thx"."Tnx" jest używane od lat jako skrót np. w slangu radioamatorskim. "Thx" to jakiś nowy wynalazek, pewnie sms-owy, ale oba skróty są jak najbardziej dekodowalne ;)
Skoro nie zaskakuje przy twardym resecie, może wystarczy wydłużyć czas trwania samego /RST. Zmień kondensator tej linii na większy, np. 22uF (tantal), jeśli jest 10uF, jeśli masz 1uF daj tam 4.7uF.
Wyniki są powtarzalne? USR 0 zawsze działa prawidłowo?
Wyniki są powtarzalne? USR 0 zawsze działa prawidłowo?
Z tego co pamiętam, "USR 0" - powoduje restart bez aktywnych banków, zaś "SPECTRUM" przechodzi do edytora 48k z aktywnymi bankami.
; ----------------
; SPECTRUM Routine
; ----------------
; Return to 48K BASIC Mode. This routine will force caps lock is off.
L1B2B: CALL L1B53 ; Overwrite 'P' channel data to use the ZX Printer.
LD SP,($5C3D) ; ERR_SP. Purge the stack.
POP HL ; Remove error handler address.
LD HL,MAIN_4 ; $1303. The main execution loop within ROM 1.
PUSH HL ;
LD HL,PRINT_A_1+$0003 ; $0013. Address of a $FF byte within ROM 1, used to generate error report "0 OK".
PUSH HL ;
LD HL,ERROR_1 ; $0008. The address of the error handler within ROM 1.
PUSH HL ;
LD A,$20 ; Force 48K mode.
LD (BANK_M),A ; $5B5C.
JP SWAP ; $5B00. Swap to ROM 1 and return via a RST $08 / DEFB $FF.
USR 0 wylacza bankowanie.
A kluczem do zrozumienia problemu ze Spiderem jest moim zdaniem m.in. wiedza, co dokładnie się dzieje przy przechodzeniu z trybu 128K do 48K.
Idę wyciągnąć jakąś 128-ke w oryginale.
Za to po podłączeniu Yarkowego PL3MEM, wyświetliło mi się takie coś ...
Nie. Nie bardzo rozumiem, jak doszedłeś do tego wniosku :)
PL3MEM używa portu #1FFD i pod tym adresem zgłasza się też rejestr stronicowania pamięci zaimplementowany w Alterze. Myślisz, że nie będą sobie przeszkadzać?
Przy resecie sprzętowym przez obraz przelatują losowo poziome - czarne kreski.
Dzięki Klaud, że Ci się chciało :)
Polecenia "USR 0" i "Spectrum" działają zdaje się że prawidłowo.
Polecenie "48 BASIC" z menu 128k nadal nie działa.
A teraz ciekawostka. Zworka w pozycji timingów 48k daje taki efekt.
Aha, czyli w sobotę? ;)
Zwłaszcza, że timingi 128 wyglądają na zgodne z +2A/B/+3, a nie z toastrackiem/szarakiem.
ZX Spectrum +2A / +3:
The +2A/+3 share the same timing information, sound chip, etc as the 128K/+2 machines; see above for details.
The ZX Spectrum 128K / +2:
The 128K machine is similar to the 48K machine, but with extra memory accessed by paging it into the top 16K of RAM. There are also some timing differences:
- The main processor runs at 3.54690 MHz, as opposed to 3.50000 MHz.
- There are 228 T-states per scanline, as opposed to 224.
- There are 311 scanlines per frame, as opposed to 312.
- There are 63 scanlines before the television picture, as opposed to 64.
- To modify the border at the position of the first byte of the screen (see the 48K ZX Spectrum section for details), the OUT must finish after 14365, 14366, 14367 or 14368 T states have passed since interrupt. As with the 48K machine, on some machines all timings (including contended memory timings) are one T state later
Masz MARUDO, w załączniku poprawione INT.
Czuje się, że ktoś odgryzł mi całą rękę, razem z obojczykiem :P
Mam nadzieję, że skoti i mariansss wytrzymają presję beta-testów.
skoti: tak trochę z innej beczki i niezwiązane z obecnymi trudnościami. Mam dwa pytania:
- Jaki stosujesz układ ROMu, 27C256 czy 27C512?
- Czy nogę nr 1 ROMu masz zwartą na sztywno do +5V?
Trzeba doprogramować we wsadzie funkcję preheat ;)
Czy jeszcze sobie Panowie życzą coś w tym wsadzie? ;D trojacek, nawet nie wspominaj o +3 :D
To może tryby timexowe? :)
Coś jeszcze do poprawki?
Ale to już było ... https://www.speccy.pl/forum/index.php?topic=3691.msg66378#msg66378
Hi-Color może być bez wielkiego napinania się i tylko w Spiderze. Powstałby wsad niezgodny z Maxem128K. Idąc tym śladem można by zamiast przełącznika 48/128 wsadzić przełącznik 128K/Pentagram.
trojacek: Aby wsadzic dekoder portu 255, potrzebne sa zasoby, ktorych nie ma juz w implementacji ZX Max 128K (128/128 makrocel wykorzystanych).
mozna tez wywalic obsluge urzedzen peryferyjnych (AY, Kempston) do mniejszego ukladu np EPM7064S a wolne zasoby wykorzystac na rozbudowe fukcjonalnosci ULA'i
innym pomyslem bylaby wymiana Altery na na Xilinxa XC95144XL
Swoja droga Rosjanie zrobili klona 128K tez na EPM7128s, a zowie sie on "Karabas 128". Z tego co wiem napedzany jest zegarem 14MHz (drobna roznica), timingi zgodne z 48K (INT zgodnie z 48K) i ma tez zaszytego AYka w Alterze. Zamiast rezystorow na linii adresowej i danych sa bufory 'LS245, do klawiatury sa uzyte te same tranzystory (2SA1175) co HQ48/128. Wiec takie dziwne 128K.
Po wielokrotnych flash-owaniach Altera, nagle na wsadzie 1.3 beta zaczęła działać opcja 48 BASIC z menu 128k.
Cud, czy taka przypadłość tych Alter, czy coś z programatorem ?
Niestety, nie mam aktywnej opcji Erase w menu programowania w Quartus-ie.
Mimo wszystko jeszcze raz sprawdziłbym połączenia. Zobacz 74LVC1G14 czy tam jest OK. Wersje esxDOS w kości i na karcie się zgadzają ?
I changed the fee a little :)Coś jeszcze do poprawki?
Tak na wszelki wypadek dodaj złącze kolkowe o 3 pinach do ROMu, noga nr 1. Vpp/A15 EPROMu na środkowy pin. Jeden skrajny do +5V a drugi do wolnej nogi: 32, 33, 57, 58, 84 lub 85 w Alterze. Będzie możliwość zaimplementowania +3 (w uproszczonej formie). Tak na wszelki wypadek na przyszłość.
Albo w kości 27c512 można mieć dwa ROMy do 128K, oryginalny i alternatywny. Wtedy jeden kołeczek na GND.
Albo zupełnie uniwersalnie przez złącze kolkowe 2x3. Piny 4 i 6 do wyrzucenia, pozostałe podpinasz:
1 - GND
2 - A15 ROM
3 - +5V
5 - wolny pin w Alterze
Będziesz miał oba rozwiązania w jednym, a jedna zworką wybór układu 27c256 lub 27c512, ręczne wybieranie górnej lub dolnej połówki 27c512 a w przyszłości odpalenie implementacji z +3.
Czy temat ZX 128 Spider'a umarł ?
Widziałem na ebay, że zabrali się za niego rosyjscy koledzy i sprzedają PCB.
Dopiero po wylutowaniu Xilinxa udało się komputer doprowadzić do działania, z tym że Xilinx mi się wcześniej zaprogramował wraz weryfikacją poprawnie bez jakiegoś problemu.
Dałem standardowy wsad do DivMMC pobrany ze strony http://aticatac.altervista.org/portale/?q=node/13.
Pamięć 28C64 też zaprogramowałem wsadem z tamtego linka.
Pytanie... czy użyłem właściwych wsadów do tego, a jeśli nie to gdzie takie mogę znaleźć ?
Chyba że mam walniętego Xilinxa, ale programator go wykrył i zaprogramował się poprawnie. :-\
Sygnał zegarowy wygląda całkiem OK, jak na mój gust. Coś przypominającego prostokąt to zobaczysz tak do 1 MHz (zależnie też od typu układu - LS, S, H, HC, HCT), ale przy 14 MHz krzywe opadania i narastania zaczynają przeważać nad "plateaux" na poziomach 0V i circa 5V.
Bardziej bym się skupił na zasilaniu, taki ripple to kładzie cały interes, jak na moje oko. Sam kiedyś próbowałem instalować mały, tani moduł przetwornicy zamiast 7805 w klasycznej płycie 48K, poziom zakłóceń był nie do zaakceptowania.
PS: ładny oscyloskop :)
Czy masz możliwość sprawdzenia na innym TV.
Xilinx xc9572 masz wlutowany i zaprogramowany?
Wrzuć zdjęcie całej płyty.
Spodziewałem się ładnego monochromatycznego obrazu (tak zachowuje się chociażby wyjście RGB w ZX-Uno Go+). Jednak tylko na linii B pojawiło się cos z grubsza przypominającego obraz (choć czarny i latający). Na pozostałych dwóch liniach widziałem tylko jakieś zakłócenia.
Żeby mieć stabilny obraz z jednej składowej, musi ona mieć "na sobie" impulsy synchronizacji. Kiedyś istniał sobie standard SoG (Sync on Green), czyli synchronizacja była tylko na składowej zielonej. Zaletą był brak konieczności stosowania dedykowanego sygnału CSYNC, czyli dodatkowego pinu w gniazdku i dodatkowej żyły w kablu.
Niektóre sprzęty miały CSYNC na każdej składowej, bo z logicznego punktu widzenia nie jest to jakiś rocket science.
Natomiast implementacje w CPLD lub FPGA mogą nie mieć synchronizacji na składowych barw. W sumie zdziwiłbym się, gdyby miały.
Co do grzania się Altery, to tak, zwykle się grzeją, ale bez przesady. Raczej nie bardziej, niż ULA w gumiaku.
Możesz mieć też jakąś felerną Alterę. Nie masz drugiej, by sprawdzić?
Aha, no i kwarc. Masz na podmianę? Bo może ten, który zainstalowałeś, ma jakiś dryft rosnący z temperaturą wnętrza komputera i po prostu częstotliwość zaczyna "dygotać", gdy Altera grzeje okolicę.
Zastanawia mnie jeszcze zauważalny brum sieciowy, który słychać z głośnika w telewizorze, gdy komputerek jest podłączony do niego.
Niepokoi mnie także kwestia niemożliwości załadowania gry z wejścia magnetofonowego. Komputer reaguje na dźwięk - na początku na obrzeżu ekranu pojawiają się kolorowe pasy, ale potem obwódka już tylko cyklicznie zmienia kolor i po dojściu nagrania do końca nic się nie dzieje.
Czy na tym samym gniazdku/listwie zasilającej 230V co TV masz podłączony zasilacz do Spidera ?
Jakie on ma napięcie pod obciążeniem na wejściu do komputerka, możliwe że masz zbyt "miętki" zasilacz ?
Sprawdź jeszcze tranzystor Q1 BC517. Podmień na inny egzemplarz.
Wyjście audio ma domiksowane sygnały SPK EAR i MIC. Wylutuj po kolei R12 R13 R14 i zobacz czy brum ustąpi.
Faktycznie dziwne. Sprawdź jeszcze czy bez podłączonego kabla do TV też masz brum na wyjściu audio.
Czy nie masz przypadkiem jakiegoś problemu z masą w tym kablu?
Zamówiłem części i wykonałem jeszcze dwa egzemplarze kabla RGB, korzystając z tej rozpiski (https://www.speccy.pl/wiki/index.php?title=Kabel_RGB_Harlequin).
Czyżbym miał jakiś problem z gniazdem SCART/RGB na tym konkretnym telewizorze?
A jakie konkretnie napięcia masz na pinach 8 i 16 SCART? Bo mruganie obrazu i zanikanie audio śmierdzi mi samoczynnym przełączaniem się trybów CV/RGB.
Czyli co, nadal nie sprawdziłeś na żadnym innym? :O
Sprawdź koniecznie.
Na linii BLNK, za rezystorem 270 ohm mam 1.08V.
Z tego co widzę na schemacie ZX 128 Spider to linia SWITCH nie jest w ogóle do niczego podłączona. Powinienem tam wstawić jakiś rezystor?
pin 8 | SWITCH | Sygnał przełączający TV/AV/16:9 (12V – 4:3/6V – 16:9) |
pin 16 | RGB | Sygnał przełączający Composite Video/RGB (3V) |
Pin 8
Status & Aspect Ratio up[c]
0–2 V → off
+5–8 V → on/16:9
+9.5–12 V → on/4:3
Pin 16
Blanking signal up
RGB-selection voltage up
0–0.4 V → composite
1–3 V → RGB
Jak już pisałem, miałem okazję sprawdzić na innym telewizorze - nieco starszym LCD Samsunga. Problem z latającym ekranem nie wystąpił tam ani razu - obraz był stabilny od razu po włączeniu, za każdym razem gdy próbowałem.
pin 8 SWITCH Sygnał przełączający TV/AV/16:9 (12V – 4:3/6V – 16:9)
pin 16 RGB Sygnał przełączający Composite Video/RGB (3V)
Tym bardziej podejrzewam, że po prostu Twój TV dostaje niewłaściwe napięcia.
Każdy TV jest pod tym względem inny, niektóre całkowicie ignorują te piny (lub tylko jeden z nich), niektóre dają priorytet ustawieniom z pilota, a niektóre wymagają stricte standardowych napięć. Nie dowiesz się, póki nie sprawdzisz.
Czy pozostawienie tego sygnału niepodłączonego może powodować problemy?
Tam jest nieco ponad 1V. Wikipedia twierdzi, że 1-3V to właśnie RGB.
No właśnie, tylko które napięcia?
na pinie 16 jest trochę ponad 1V. Twoim zdaniem to za blisko granicy? Może faktycznie czasem zdarza się, że spadnie poniżej tego 1V i telewizor wtedy głupieje?
Jaką masz amplitudę na pinie 20? Oczywiście przy podłączonym TV.
Czy inne maszyny, dające prawidłowy obraz, mają sygnał słabszy czy silniejszy na tym pinie?
Zauważyłem też, że jasność obrazu na ekranie wydaje się być proporcjonalna do zmierzonych napięć - obraz na Karabasie jest relatywnie ciemny (choć ciągle widoczny), na Harlequinie jaśniejszy, a na Spiderze bardzo jasny. ten sygnał ma wpływ na jasność, czy to jedynie przypadkowa zależność?
Powinienem zwiększyć wartość rezystora na linii CSYNC, przed gniazdkiem? Obecnie jest tam 150 omów.