forum speccy.pl

ZX Spectrum => HARDWARE => Wątek zaczęty przez: Pyza^Illusion w 2011.12.09, 22:53:19

Tytuł: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.09, 22:53:19
Taaa... swego czasu tez gdzieś tam pomyśleli w ten sposób i powstało 5 czy sześć oficjalnych systemów dyskowych oraz kilka homemade'ów (MB-02, ZXVGS i DivIDE) - pewnie jest jeszcze kilka. Problem w tym, że zamiast się skupić na dopracowaniu chociaż jednego (bliski temu był MB-02), to powstawały kolejne i kolejne... Co tym razem?
Wiem, szerzę defetyzm, ale chyba nie ma sensu wypuszczać kolejnego xxx-face'a, gdy jeszcze jest tyle do zrobienia przy poprzednich. Jeżeli już to byłbym za opcją przebudowy ZXVGS. O ile szanuję nakład pracy Yarka jaki w to włożył, to raczej nie rozumiem niektórych zabiegów tam poczynionych (indywidualne przerabianie każdego programu/gry z narzuceniem jednolitego sterowania i inne takie). Trochę też przekombinowana obsługa w niektórych miejscach.
Przede wszystkim należałoby się skupić na obiektach dyskowych, czyli udoskonalona emulacja .TRD, .DSK (FDD3000)... Nie pamiętam na jakim etapie stanęły prace z TAP/TZX.
Najbardziej wspierany i chyba najbardziej popularny jest mimo wszystko DivIDE i to chyba tam najmniej brakuje do pełnego funkcjonowania systemu.
Nowe rozwiązanie, nowy wydatek, kolejny kawałek elektroniki w szafce, żonglowanie interfejsami i niszczenie biednej "krawędziówki", a nic w pełni funkcjonalnego... A to wszystko po to, aby te same stare rzeczy oglądać z coraz to nowych "nośników". Eeee tam... :p Bardziej potrzeba chyba sprzętowców do ożywiania starych sprzętów i programistów (ogólnie twórców) do wspierania tego co mamy.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Duddie w 2011.12.10, 09:54:39
Pyza, ja noszę się z zamiarem przeprojektowania divIDE Plus, będzie na układzie FPGA, żeby zajmował mniej miejsca. Zostanie sporo wolnego na AY, Kempston Mouse/joystick. Masz jakieś sugestie, propozycje? Co chciałbyś w tym widzieć?
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.10, 12:57:32
Jak szaleć to szaleć...
Wbudowane NMI z możliwościami Masterface/MacFace/Multiface - głównie wbudowany dobry monitor, zgrywanie snapshota (opcja 48/128), czy wgranych na stałe kilka podstawowych programów (tu kwestia doboru) :D
Najlepsze było rozwiązanie w MacFace, gdzie można było wgrać sobie w pamięć RAM interfejsu dosłownie co się żywnie zachciało. Był monitor, snapshot-saver, a nawet ROM 48, który czasami się przydawał, gdy nie chciało coś odpalić na mojej przerobionej +2. Niegłupie byłoby wbudowanie szybkiego selektora ulubionych programów. Np. po naciśnięciu NMI uruchamiała by się wybieraczka, która z określonego pliku na karcie pobierała by listę must-have programów. Plik ten każdy użytkownik mógłby sobie sam modyfikować. Wiadomo, że na takiej karcie wszystko jest pochowane w różnych katalogach. Tu by było coś w rodzaju skrótów na pulpicie. Odbywało by się to tak. Na dzień dobry, wgrywamy do pamięci interfejsu ten selektor i rezyduje on tam aż do odłączenia zasilania (chyba, że podtrzymanie bateryjką wchodzi w grę) - reset oczywiście nic nie czyści. Po resecie klik w NMI i mamy prostą wybieraczkę, która po Enterze automatycznie ładuje dany program. Bez latania po katalogach i wpisywania czegokolwiek.
Zagłębiłem się teraz bardziej w kwestie programowe niż sprzętowe, ale niestety w ten sposób mogę cokolwiek doradzić, bo takie FPGA (cokolwiek to jest) kojarzy mi się wyłącznie z kolejnym slotem pod procesor dla PC :p

Jak się będzie zachowywać wbudowany w DivIDE AY, gdy już mamy go wewnętrznie? Rozumiem, że akurat ten układ będzie na podstawce i wyjęcie go (nie instalowanie na płytce) po prostu będzie traktowane jakby go tam wcale nie było.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Duddie w 2011.12.10, 14:18:14
No akurat wymyśliłeś kwestie programowe bardziej. Ja miałem na myśli co ze sprzętu i jak. Reszta będzie należeć do autorów firmware. AY będzie opcjonalny, wyłączany. A FPGA to układ o dużej skali integracji zastępujący wszystkie (no, prawie) inne.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.10, 15:03:11
Jako sprzęt to chyba nic więcej nie jest potrzebne (choć sama przystawka wykorzystująca NMI też jest przecież sprzętem). Myślę, że standardy utworzyły się same przez te wszystkie lata. Nie ma co na siłę wymyślać.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: matofesi w 2011.12.11, 02:31:01
@Pyza Większość tego, co napisałeś powinno się dać - jak pisze Duddi - zrobić software'owo na istniejącym DivIDE plus. Nie jestem przekonany, czy cokolwiek w tej kwestii wymaga zmian sprzętowych.

To czego mi brakuje to fanaberia - możliwość zakładania sprzętowych haków na konkretny adres/warunek (choć sam adres powinien wystarczyć), czyli sprzętowy break point.

No i oczywiście jakaś dokumentacja, bo to, co dostałem z moim do sensownego programowania się nie nadaje - nadaje się co najwyżej jako quick start dla normalego usera.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.11, 12:28:32
To czego mi brakuje to fanaberia - możliwość zakładania sprzętowych haków na konkretny adres/warunek (choć sam adres powinien wystarczyć), czyli sprzętowy break point.

Czyli wspomniany NMI z wbudowanym monitorem/debugerem w pamięci zewnętrznej (poza ZX). Nie wiem, czy miałeś styczność z takim MacFace2, ale tam właśnie to było. Przyciskiem zatrzymywało się program, wyskakiwał monitor, wszystkie rejestry itp. Pod konkretnym adresem można było wstawić pułapkę i wrócić do programu, a on po napotkaniu pułapki lądował z powrotem w monitorze. Rzecz okrutnie przydatna przy programowaniu.
Tak jak wspomniałem wcześniej - nic więcej nie potrzeba: Kemp mouse/joy, AY, NMI z własną pamięcią (w MacFace było to 16kB podpinanych w miejsce ROM - ciekawe, czy można jakoś podpiąć tam więcej i upchać więcej oprogramowania).
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Duddie w 2011.12.11, 12:38:09
Pyza, masz jakąś dokumentację do tego Macface 2? Ja z tym się nigdy nie zetknąłem. Można na pewno zrobić coś takiego. jesteś w stanie otworzyć i zrobić fotkę środka? Interesuje mnie jakie układy tam siedzą.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.11, 15:51:52
W sumie, to mamy tu na forum autora :D Dawniej AMST - tu na forum - thom (Artur Muszyński)
Strona autora, gdzie jest zdjęcie i nawet odręczny schemat MacFace2 :)
http://www.union.com.pl/artur/index.php (http://www.union.com.pl/artur/index.php)
Chyba najlepszym rozwiązaniem będzie kontakt poprzez email :)
Oczywiście foty mogę walnąć jak mimo wszystko będą konieczne (muszę przeszperać szafę).
Wszelkie inne tech-info również najlepiej uzyskać u autora. Myślę, że coś tam jeszcze pamięta...

Dodatkowo przypomniałem sobie, że u Yarka sporo tego jest:
http://8bit.yarek.pl/interface/zx.macface/index.html (http://8bit.yarek.pl/interface/zx.macface/index.html)
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Duddie w 2011.12.11, 16:14:53
Schemat słabo czytelny, ale da się coś z tym zrobić. Niestety, ze strony Yarka nie można pobrać zawartości ROM - niezbędnej do jego stworzenia. Tam też widzę, że było to przeniesione do Eagle'a i te pliki byłyby najbardziej przydatne. Ale popracuję nad tym.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: matofesi w 2011.12.11, 18:02:00
@Pyza Nie. Monitor pod przyciskiem to jest tylko jedna rzecz. Sprzętowy brak point to coś innego. Chodzi mi o to, że po wejściu do monitora po wciśnięciu przycisku chciałbym mieć możliwość ustawienia adresu (a raczej przynajmniej kilku adresów) dla których sprzęt włączałby monitorowanie i - po wyjściu z monitora z powrotem do programu pilnował czy nie następuje na przykład skok pod zadany adres (czy ogólnie - pobranie instrukcji z tego adresu) i jeśli tak to wtedy automatycznie generował NMI najlepiej w biegu podmieniając RAM tak, żeby NMI nie popsuło stosu itp.

Softwareowa pułapka jest fajna, ale ma to do siebie, że żeby ją ustawić musisz zmodyfikować kod, a to się da wykryć programowo. Pułapka sprzętowa nie modyfikuje pamięci stąd byłaby dużo lepszym rozwiązaniem. A poza tym nie da się ustawić softwareowej pułapki na kod, który jest generowany "w locie" - a sprzętową i owszem :)
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Gryzor w 2011.12.11, 20:54:48
Z ciekawosci - po co Wam to ? Przeciez na emulatorze mozna wszystko.
Akurat programowanie obecnie bezposrednio na zx wydaje mi sie przegieciem.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: matofesi w 2011.12.11, 21:00:38
A to nie jest pytanie "po co" tylko "co byście chcieli". Nie ważne, że może nigdy tego nie użyję - ważne, że byłaby taka potencjalna możliwość.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.11, 21:23:48
@Duddie
Jako takiego ROMu MacFace nie posiada (!?!). Jego ROM to to, co do niego wgrasz przed jego użyciem - czyli de facto - RAM, z możliwością podpięcia go jako ROM (nie wiem czy zawsze od tego samego adresu, czy pod dowolną stronę/bank).
Wyglądało to tak, że jak startujesz na czysto, to przycisk NMI działa jako zwyczajny reset. Można wgrać ROM 48 i wtedy po resecie, niezależnie od modelu ZX, pojawia się słynne @1982 Sinclair Research... Odpinany jest zatem wbudowany w komputer ROM i zastępowany tym z MacFace'a. Zablokowane są również banki itd. Jednym słowem mamy oryginalnego gumiaka (multikolory jednak działają jak na natywnym sprzęcie - to chyba oczywiste). Pokusiłbym się o stwierdzenie, że jak wgramy ROM1 z BASIC'iem 128, to odpaliłby się na zwykłym 48kB (chyba, że przy starcie sprawdza banki itp.) - funkcje BASIC'owe AY powinny działać, choć z jasnych przyczyn nie pójdą funkcje przełączania banków.

@matofesi
Niemal wszystko to masz. Nie wiem dokładnie jak działa przerzucanie pamięci pomiędzy przystawką a ZX. W każdym razie po wejściu w monitor nie uciekał nawet bajcik z zawartości pamięci, nie niszczy ekranu itd. Tzn. w miejscu, gdzie chciałeś pułapkę te 3 bajty zostały zastąpione JP (albo CALL - nie pamiętam) NN, ale po wejściu w monitor automatycznie była przywracana poprzednia zawartość. Rozumiem to tak, że w momencie postawienia pułapki, owe 3 bajty chowane były w pamięci przystawki, a gdy pułapka automatycznie wywołała NMI, zostawały one przywracane z powrotem. Pułapek można było zakładać kilka. Co ciekawe, będąc w monitorze, pod którymś tam przyciskiem mieliśmy możliwość podejrzenia aktualnego stanu ekranu również bez żadnego uszczerbku.
Podsumowując działało to tak (w przypadku monitora), jakby przy wywołaniu NMI cały bank od 16384 do 32767 został wymieniany z zawartością MacFace (albo wpinany w to miejsce), a po opuszczeniu monitora, wszystko wracało do normy (z wyjątkiem założonych pułapek, które przywracane były dopiero po ich samoczynnym wywołaniu).
Nie bardzo sobie wyobrażam, w którym momencie pułapka sprzętowa miałaby wywołać NMI w przypadku nadpisania przez program miejsca jej zadziałania. Reagowałaby na próbę nadpisania tego konkretnego adresu? Możesz to jakoś dokładniej wyjaśnić?

@Gryzor
Hmmm... Generalnie, to po co nam w ogóle oryginalny sprzęt? Przecież wszystko to można uzyskać pod emulatorami, nie trzeba kupować DivIDE, męczyć się z naprawami, przeróbkami, podpinać kabli pod jakiś stary TV i rzucać mięsem, że akurat pod mój model nie zrobili dobrze efektu z multikolorem. Grafika, muzyka czy programowanie jest łatwiejsze i przyjemniejsze na PC. Nawet na demoparty można odpalać produkcje z PC... Amigowcy, Atarowcy czy posiadacze C64 w sumie też tak mogą robić. Po co więc ciągną się z tym wszystkim sprzętem po kraju, klnąc przy rozkładaniu sprzętu, że brak gniazdek, a akurat zapomniał zabrać przedłużacza/rozdzielacza? Jasnej odpowiedzi nie ma, to się po prostu czuje. Zabawa z realnym sprzętem przywraca dawne wspomnienia i daje więcej radości :D
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: matofesi w 2011.12.11, 23:35:18
Jak to jak? Układ monitorujący pułapkę sprawdza stan linii - jeśli następuje odwołanie do konkretnego (ustawionego w monitorze adresu) i równocześnie ustawione jest MREQ, RD i M1 to oznacza, że procesor pobiera rozkaz z zadanego adresu i tylko wtedy sprzęt wywołuje NMI podmieniając wcześniej pamięć. Zwykły odczyt pamięci nie ustawia M1, zapis nie ustawia RD - wykonanie kodu daje się rozpoznać jednoznacznie co oznacza, że jeśli na przykład program generuje jakieś procedury i wstawia je zawsze w to samo miejsce ustawienie pułapki na ten obszar wywoływałoby ją tylko w momencie właściwego skoku i zawsze z załadowanym generowanym kodem.

To, że da się to zrobić podmieniając kod i monitorując odczyty z pamięci a w stosownym momencie (przy próbie odczytu bez M1) podkładając w jakiś sposób (tu akurat nie jestem pewien jak miałoby się to odbywać - na złączu krawędziowym nie ma sygnału pozwalającego na odpięcie wbudowanego RAMu i włączenie w jego miejsce zewnętrznej pamięci) zapamiętaną wcześniej zawartość pułapki. Nie jestem pewien, czy rozwiązanie takie będzie mniej skomplikowane niż to, co opisałem wcześniej.

Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Duddie w 2011.12.12, 08:09:32
@Pyza: posiada, wg schematu jest 2KB ROM i 16KB RAM. Widać sygnał odłączający ROM Spectrum. No i o zawartość tego ROMu się rozchodzi...
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Gryzor w 2011.12.12, 13:18:58
Ten MacFace2 jest bardzo podobny do mojego MagicFace, ciekawe. Tylko ze MagicFace mial 4KB albo 8 KB Romu ( a moze 16???),
bo mial wbudowany debugger. w 2K nie da sie zrobic dobrego debuggera.

Pyza, moj komentarz byl tylko do programowania na ZX, a nie ogolnie do uzywania oryginalnego ZX Spectrum.
Po prostu uwazam, ze dzis jest lepiej robic cross-development i zadna przystawka tego nie zmieni.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.12, 17:47:26
Faktycznie ROM jest... Zapomniałem, że to jeszcze miało turbo :D
No o ROM to trzeba by chyba zamailować do Yarka. Ewentualnie przyłożę się któregoś pięknego dnia (jakoś może koło świąt) i rozłożę wreszcie ze sprzętem. Wtedy mógłbym go zgrać, a może również porobić dokładniejsze fotki (o ile do czegoś jeszcze będą potrzebne).

@matofesi
Hehe, aż tak biegły w wewnętrznych sygnałach elektroniki ZX nie jestem i może niech lepiej tak zostanie. Skoro jest to możliwe, to może i lepiej ze sprzętową pułapką, a nawet kilkoma jeśli to możliwe.

@Gryzor
Monitor MAD 4.0 przystosowany dla MacFace'a był dobry, a nawet bardzo dobry :p W każdym razie dużo lepszy niż w tych wszystkich MultiFace'ach, MasterFace'ach itp. Brakowało jedynie deasemblacji do jakiegoś przyjaznego kodu źródłowego - chociażby pod leciwego GENS'a.
Nie tylko programowanie jest lepiej robić na PC. Powstały dużo lepsze programy graficzne i muzyczne emulujące właściwości ZX pod PC. Dużo wygodniej się je obsługuje i przede wszystkim szybciej można uzyskać efekt końcowy. Mimo to niektórzy lubią popracować na oryginalnym sprzęcie, a wręcz pojawić się z nim na party/zlocie, kiedy to niemal obowiązek! :D
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Gryzor w 2011.12.13, 21:33:19
Pokazcie mi tego MADa bo ja juz jestem mad   >:(
Nad debuggerem/disassemblerem Z80 spedzilem sporo czasu, zreszta nie sam.
Nigdy nam sie nie udalo zejsc w 1/3 ekranu z sensownymi funkcjami.
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: matofesi w 2011.12.13, 23:17:44
@Gryzor Nie tobie jednemu ;) Przyzwoita wersja naszego Summera zajmowała dwie tercje i jedną extra linię z trzeciej razem z atrybutami ;)
Tytuł: Odp: Nowe ficzery w nowym Divide Plus
Wiadomość wysłana przez: Pyza^Illusion w 2011.12.13, 23:52:31
Może kwestia tego co kto oczekiwał... Nie wiem ile zajmuje MAD 4.0, bo nie mam obecnie jak sprawdzić. Na stronie autora jest, że zmieścili się w 2k. Faktycznie wszystkie wartości rejestrów + listing zajmują na ekranie 2/3 - No ale może dochodzić tam do jakiejś wymiany pomiędzy zawartością przystawki oraz RAMem ZX. Też mi się wydaje, że sam plik miał około 4kB...