forum speccy.pl

Komputery z Z80 => TIMEX => Wątek zaczęty przez: Yolk w 2020.04.16, 21:06:10

Tytuł: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Yolk w 2020.04.16, 21:06:10
Cześć.

Mam na stanie świeżo aktywowanego Unipolbrita 2086. Gdzieś w otchłani internetu wyczytałem, że zamontowany na płycie AY jest inaczej adresowany niż "standard" z nowszych Spectrumów. Demo Timmy działa z dźwiękiem, więc układ jest sprawny, ale czy da się go jakoś przerobić, żeby był widoczny pod standardowym adresem? Internet podpowiada, że takie przeróbki ktoś kiedyś uprawiał, ale czy ktoś wie jak to zrobić? Czy lepiej kupić AY montowanego na szynie?

PS 1. Czy ktoś bawił się w rozszerzenie Unipolbrita do 128k? Byłbym wdzięczny za opis.

PS 2. Jako ciekawostka: mam w tym Unipolbricie spolszczony ROM, który zgłasza się jako:
(c) 1982 Sinclair Research Ltd.
(c) 1986 S.P.M. "Spektrum"

Pozdrawiam.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.16, 21:53:13
Cześć!

O przeróbkach na 128K poczytaj tutaj:
https://www.speccy.pl/forum/index.php?topic=4468
https://www.speccy.pl/forum/index.php?topic=501.0

Tak, AY da się przepiąć na porty używane w Spectrum 128K, trzeba dorobić nowy dekoder adresów. Timmy to jedna z nielicznych produkcji, które używają AY również w wersji timexowej.

Ad PS1: https://www.speccy.pl/forum/index.php?topic=3499
Ad PS2: mógłbyś zgrać i wrzucić na forum ten ROM?
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Yolk w 2020.04.16, 22:16:35
Dzięki za info.

Widzę, że zabawa jest nietrywialna. Dam sobie spokój. Lepiej faktycznie upolować jakiegoś 128 +2 lub +3 i zostawić tego Unipolbrita w stanie (powiedzmy) mint. Poprzedni właściciel nablumbrał nieco w połączeniach, wywiercił dziurkę na reset i drugą dziurkę na diodę LED, której ostatecznie nie podłączył :) Ale generalnie sprzęt wygląda dość przyzwoicie. Poniżej zdjęcie.

Co do ROMa, to musiałbym się udać do kolegi, który ma programator i zgrać całość z kostki. W najbliższym czasie może być z tym problem, ale będę pamiętał.

Załączam też przykładowy komunikat błędu po polsku z polską czcionką.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.16, 23:17:31
Wygląda lepiej, niż każdy mój TC2068 :D
A do zgrania ROM nie musisz wyciągać kości, o ile znasz trochę kod maszynowy. Jak nie, to trudno :)
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Yolk w 2020.04.16, 23:22:41
ROM jest w podstawce, wygląda na typowy EPROM z okienkiem. Żaden problem z wyjęciem.
Zastanawiam się, bo może uda mi się to nawet zrobić samemu w domu z użyciem Atari i SIC!'a. Pokombinuję...
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: ZbyniuR w 2020.04.17, 06:01:54
Ciekawe na jakich kodach są polskie znaki?
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.17, 07:19:32
Aż mnie podkusiliście i wygrzebię swojego UK2086 z kartonu z Timexami.

A'propos ROMów do TC2068/UK2086:
- pear zrobił zestawienie ekranów startowych: https://www.speccy.pl/forum/index.php?topic=2894.msg41550#msg41550
- pliki od matrina381: https://www.speccy.pl/forum/index.php?topic=467.msg5383#msg5383
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.17, 08:03:19
Wracająć do AYka w TS/TC2068 i UK2086 możesz go aktywować programowo na portach 0xF5 i 0xF6.

OUT (0xF5) - wybór rejestru AY-ka z zakresu 0-14
IN  (0xF6) - odczyt z wybranego rejestru AY-ka
OUT (0xF6) - zapis do wybranego rejestru

IN (0xF5)  - zawsze zwróci wartość 255.

W Timexie rejestr R14 jest używany do obsługi Joysticka. W ZX128K porty AY-ka odsługują MIDI i RS232

W ZX128K wywołanie AY-ka:
LD BC,0xFFFD     01 FD FF
OUT (C),D        ED 51
LD B,0xBF        06 BF
OUT (C),E        ED 59

W TS/TC2068:
LD BC,0xFFF5     01 F5 FF
OUT (C),D        ED 51
LD C,0xF6        0E F6
OUT (C),E        ED 59

Kilka POKEów i każda gierka z muzyką AY, powinna nim zagrać zagrać.

(źródło: https://faqwiki.zxnet.co.uk/ oraz "TS2068 Technical Manual")
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: matofesi w 2020.04.17, 09:49:46
W czasach jak miałem Unipolbrita zrobiłem sobie "cwany" programik - dogrywało się go w pamięć ekranu przed startem właściwej gry/dema, odpalało i on skanował całą pamięć wyszukując patterny odpowiadające znanym odwołaniom do AY w "standardowych" adresach i poprawiał na te właściwe dla Unipolbrita. Programik rósł w miarę pojawiania się nowych gier aż w końcu trafiłem na coś, co używało OUTI albo innej pokręconej konstrukcji i nijak nie mogłem wykombinować sensownej procedury podmiany. I to był ten dzień kiedy pociąłem płytę i zapiąłem "normalny" dekoder adresów ;)

Programik oczywiście się nie zachował tak jak nie zachowała się większość rzeczy, które pisałem w tamtych czasach :(
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Yolk w 2020.04.17, 09:52:30
A'propos ROMów do TC2068/UK2086:
- pear zrobił zestawienie ekranów startowych: https://www.speccy.pl/forum/index.php?topic=2894.msg41550#msg41550

Mój Unipolbrit zgłasza się identycznie jak model opisany jako 2386 (dwa dolne screen shoty - pierwszy z wyjętym ROMem z Emulatorem ZX, drugi z ROMem włożonym). Mam port drukarki.

PS. Nie wiem czy to zasługa tych zmienionych ROMów, ale wywala mi się gra Frank-N-Stein w momencie dotknięcia czachy.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Gryzor w 2020.04.17, 10:44:37
Zeby zgrac ROM wystarczy jedna komenda w Basicu
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.17, 10:47:19
SAVE "ROM" CODE 0,16384
To miałeś na myśli?

Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.17, 10:51:09
Tak zgrasz tylko główny ROM, do EXT ROM trzeba przerzucić bit w porcie 255, a tego nie można zrobić z poziomu Basica.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Gryzor w 2020.04.17, 11:27:18
A no tak, tam jest 24KB  :-X
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.17, 16:12:35
Moj UK2086 zgłasza się jako Unipolbrit 1.2, nr seryjny mojego egzemplarza: 2884 S+Z. Nie mam oryginalnego emulatora, a samoróbka ma na sobie ROM z Timexa 2048, więc zgłasza się jako "(c) 1982 Sinclair Research Ltd"

W środku jeden ROM jest typowy z innych Timexów 2068, wlutowany w płytę. Drugi ROMem to EPROM M5L27128K. Zrzut EPROMa w załączniku.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.17, 16:52:11
Na szybko porównałem ten ROM z ROMem z TS2068 i różnią się one w 2 miejscach:
1. adres 0x6D -wartość 0x28 (JR Z, x) z 0x20 (JR NZ, x)
2. zakres od 0x1118  do 0x114F - komunikat startowy 

EDYTA:
Ad.1. Jest to poprawka do błędu NMI w ZX Spectrum. Cytując "Komputer Wydanie specjalne - A.Kadlof - Tajniki ZX Spectrum", strona 29:

Błąd NMI. Jest to jeden z najpoważniejszych błędów. Przesta- wienie jednego bitu pod adresem # 006D sprawiło, że Spectrum nie jest w stanie przyjmować tzw. przerwań niemaskowalnych z obsługą przerwania przez procedurę użytkownika. Przerwania takie mogą być bądź ignorowane, bądź restartować system przez skok do adresu 0. Uniemożliwia to kontrolowany restart systemu po jego załamaniu, jak i wiele innych zastosowań komputera. Eliminacja tego błędu wymaga niełatwych i kosztownych przeróbek technicznych.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: martin381 w 2020.04.18, 17:08:25
Na tym wsadzie do kartridża  mój UNIPOLBRIT 2086 startuje z komunikatem jak napisane  w pierwszym poście.

(c) 1982 Sinclair Research Ltd.
(c) 1986 S.P.M. "Spektrum"
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.18, 17:54:32
Dzięki za plik. Spróbuję później.

Różnic pomiędzy tą binarką a ROMem z TC2048 czy emulatorem Spectrum z Portugalii jest sporo. Chyba większość błędów w ROMie ZX Spectrum poprawiono, dodano komunikaty błędów w naszym języku.

Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.26, 08:59:24
Tak zgrasz tylko główny ROM, do EXT ROM trzeba przerzucić bit w porcie 255, a tego nie można zrobić z poziomu Basica.

Zajrzałem do dokumentacji Timexa 2068 i komenda

SAVE "ROM" 0, 16384
Nie jest poprawna. Są z nią dwa problemy:
1. zły zakres adresów
2. procedura SAVE w 2068 jest w EXROM, a nie w HOME. Komendą SAVE można zgrać tylko zawartość EXROM. Poprawny jej zapis byłby:
SAVE "EXROM" CODE 0, 8192
O tym co wspominał trojacek, aby dobrać się do zawartości HOME trzeba skopiować jego zawartość do RAM i dopiero potem zrzucić na taśmę.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.27, 00:33:51
O tym co wspominał trojacek, aby dobrać się do zawartości HOME trzeba skopiować jego zawartość do RAM i dopiero potem zrzucić na taśmę.

No, ja napisałem dokładnie odwrotnie, bo myślałem, że procedura SAVE jest w Home ROM.
Dzięki za sprawdzenie :)
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: Johnny Red w 2020.04.30, 20:30:25
O tym co wspominał trojacek, aby dobrać się do zawartości HOME trzeba skopiować jego zawartość do RAM i dopiero potem zrzucić na taśmę.

No, ja napisałem dokładnie odwrotnie, bo myślałem, że procedura SAVE jest w Home ROM.
Dzięki za sprawdzenie :)

That is why LOAD & SAVE traps used on interfaces for 48K do not work with 2068 ROM.
For example, the Timex Interface for 2048 do not work with 2068 ROM.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.30, 20:34:52
Johnny, what do you mean by "Timex Interface for 2048"?
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: steev w 2020.04.30, 20:44:03
Przypuszczam, że standardowy TI z wsadem z '84 (2068 miał inny wsad z '85)
Co do maski dla portu komunikacyjnego nie jestem pewien (ROM z 2048 który mam na dysku, korzysta z maski $c0)
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.30, 20:45:58
Ale to raczej nie miałoby nic do rzeczy, że w TC2068 procedury LOAD i SAVE są w EXT-ROM?
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: steev w 2020.04.30, 23:02:06
Nie wiem jak tam wygląda obsługa błędów, więc nawet nie próbuję spekulować.
(wiem jedynie, że ROM 2068 ustawia porty FF i F4 na zero a ROM z 2048 nie :) )
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.04.30, 23:05:07
Z tego co pamiętam, ROM 2048 też zeruje port 255 i tym się różni od ROM-u 48K :)
Ale dyskusja była na temat LOAD i SAVE, odbiegamy od tematu.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: steev w 2020.04.30, 23:54:54
To ja poproszę do mojej kolekcji Twój ROM do TI 2048, bo 'mój' outuje jedynie na $fe i $ef.
A co do LOAD/SAVE.
<gdybanie>
Jeśli procedura obsługi błędu LOAD/SAVE też jest w EXT-ROM, i jeszcze nie daj Intel pod tym samym adresem (lub go zawiera) to ROM interfejsu się załączy przy zamapowanym EXT, i pójdzie w krzaki bo spodziewa się ZX ROMu...
</gdybanie>
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.04.30, 23:56:24
ROM TC2048 jest ROMem ZX Spectrum z zerowaniem portu 255 przy starcie. W TC2048 port 244 nie jest używany. W TC2048 procedury LOAD i SAVE są spectrumowe. W „dużych” Timexach ROM jest przepisany i czesc procedur wyładowała w EXROM. Mam gdzieś pełen listing obu ROMów z TS2068.

Z ROMu TC2048:

129A Call 386E
...
386E Out(FF),A
3870 Call 0C0A,PO-MSG
3873 RET

W ROMie Speccy pod tymi adresami siedzi:

Call 0C0A,PO-MSG
...
FF
FF
FF

Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.05.01, 00:15:15
To ja poproszę do mojej kolekcji Twój ROM do TI 2048, bo 'mój' outuje jedynie na $fe i $ef.

W załączeniu.

Cytuj
Jeśli procedura obsługi błędu LOAD/SAVE też jest w EXT-ROM, i jeszcze nie daj Intel pod tym samym adresem (lub go zawiera) to ROM interfejsu się załączy przy zamapowanym EXT, i pójdzie w krzaki bo spodziewa się ZX ROMu...

"Błąd gwiazdki" jest rzucany na etapie parsowania składni instrukcji, to jeszcze nie dotyka kodu procedur LOAD/SAVE. To jest tak istotny element systemu, że musi być w HOME ROM. Inaczej byłoby za dużo przełączania ROM-ów.
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: steev w 2020.05.01, 00:49:28
Procedury w obu ROMach zaczynają się dość podobnie...

EXT:
;
;  MDZ80 V0.9.0 Z80 Disassembly of ext.rom
;  2020/05/01 00:35
;
;
        ORG     $08
;
X0008:  ld      hl,(X5c5d)      ; 0008  2A 5D 5C        *]\
X000b:  ld      (X5c5f),hl      ; 000B  22 5F 5C        "_\
        pop     hl              ; 000E  E1              a
        ld      l,(hl)          ; 000F  6E              n
X0010:  ld      (iy+$00),l      ; 0010  FD 75 00        }u.
        ld      sp,(X5c3d)      ; 0013  ED 7B 3D 5C     m{=\
X0017:  ld      hl,X1354        ; 0017  21 54 13        !T.
        push    hl              ; 001A  E5              e
...

HOME:
X0008:  ld      hl,(X5c5d)      ; 0008  2A 5D 5C        *]\
        ld      (X5c5f),hl      ; 000B  22 5F 5C        "_\
X000e:  jr      X0053           ; 000E  18 43           .C
;
X0053:  pop     hl              ; 0053  E1              a
        ld      l,(hl)          ; 0054  6E              n
X0055:  ld      (iy+$00),l      ; 0055  FD 75 00        }u.
        ld      sp,(X5c3d)      ; 0058  ED 7B 3D 5C     m{=\
        jp      X1354           ; 005C  C3 54 13        CT.
;

Więc nie dam głowy że jest tak jak mówię, ale twierdzę że pewne prawdopodobieństwo istnieje :)
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: steev w 2020.05.01, 00:53:06
To ja poproszę do mojej kolekcji Twój ROM do TI 2048, bo 'mój' outuje jedynie na $fe i $ef.
W załączeniu.

To jest ROM z komputera.
Ja pisałem o ROM interfejsu :D
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: trojacek w 2020.05.01, 01:15:03
OK, widać zrozumiałem inaczej :D
Tytuł: Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
Wiadomość wysłana przez: KWF w 2020.05.01, 07:20:35
Ja tez, wiec nie jesteś sam ;)

Listing ROMów TS2068 wrzucałem tu: https://www.speccy.pl/forum/index.php?topic=5346.msg82029#msg82029