Autor Wątek: Aktywacja AY w Unipolbrit 2086 / TC2068  (Przeczytany 2262 razy)

Klaud

  • *****
  • Wiadomości: 5094
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #15 dnia: 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.
« Ostatnia zmiana: 2020.04.17, 17:36:45 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

martin381

  • *****
  • Wiadomości: 1185
  • Miejsce pobytu:
    JAROCIN
  • Gdzie jestem.....dokąd zmierzam....dokąd
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #16 dnia: 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"
Spectrusie  i akcesoria(rożne  , przechodnie , nie tylko komputerki) , miałem w rękach ISSUE 1 , Harlequin , poszukuję spektrusia którego zmajstrowałem 28 lat temu , AX81 , ZXUNO , ICOM IC7000  call sign SQ3PLR

Klaud

  • *****
  • Wiadomości: 5094
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #17 dnia: 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.

« Ostatnia zmiana: 2020.04.18, 18:23:55 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

Klaud

  • *****
  • Wiadomości: 5094
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #18 dnia: 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ę.
KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5640
  • Miejsce pobytu:
    Warszawa
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #19 dnia: 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 :)

Johnny Red

  • *
  • Wiadomości: 15
  • Miejsce pobytu:
    Portugal
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #20 dnia: 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.

trojacek

  • *****
  • Wiadomości: 5640
  • Miejsce pobytu:
    Warszawa
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #21 dnia: 2020.04.30, 20:34:52 »
Johnny, what do you mean by "Timex Interface for 2048"?

steev

  • *****
  • Wiadomości: 1054
  • Miejsce pobytu:
    inode 42
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #22 dnia: 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)
Machines should work. People should think.

trojacek

  • *****
  • Wiadomości: 5640
  • Miejsce pobytu:
    Warszawa
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #23 dnia: 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?

steev

  • *****
  • Wiadomości: 1054
  • Miejsce pobytu:
    inode 42
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #24 dnia: 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 :) )
Machines should work. People should think.

trojacek

  • *****
  • Wiadomości: 5640
  • Miejsce pobytu:
    Warszawa
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #25 dnia: 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.

steev

  • *****
  • Wiadomości: 1054
  • Miejsce pobytu:
    inode 42
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #26 dnia: 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>
Machines should work. People should think.

Klaud

  • *****
  • Wiadomości: 5094
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #27 dnia: 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

KL
-----
R Tape loading error 0:1

trojacek

  • *****
  • Wiadomości: 5640
  • Miejsce pobytu:
    Warszawa
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #28 dnia: 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.

steev

  • *****
  • Wiadomości: 1054
  • Miejsce pobytu:
    inode 42
Odp: Aktywacja AY w Unipolbrit 2086 / TC2068
« Odpowiedź #29 dnia: 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 :)
Machines should work. People should think.