Возрождение "Элис"

Советские программируемые калькуляторы, микрокомпьютеры и большие ЭВМ, не попавшие в другие разделы

Moderator: Shaos

Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Mixa64 wrote:А какую функцию выполняет связка ВВ55 и РФ2? Накопитель в 2 килобайта вне адресного пространства?
Барсик выше написал "что ВВ55 и РФ2 включены по схеме ROM-диска ОРИОНА и РК86."
Mixa64 wrote:И странное решение, выход РЕ3 непосредственно на вход C ТМ2, я бы сказал, нехорошее, и даже недопустимое.
Может быть, имеет смысл переместить эту цепь на выход ТМ8,
И там и там ТТЛ уровни, прошивка из РЕ3 перезапускает ТМ8 одновременно идет на вход С ТМ2. Где недопустимость ? Если есть сомнение в правильности восстановленной схемы, можете посмотреть кусочек узла сами.
Хочу напомнить, схема восстанавливается с оригинальной платы КНГМД "ЭЛИС", который провел 28 лет в забвении.
И высказывание
Mixa64 wrote:и не считывать содержимое РЕ3, а посидеть с листочком и карандашиком и сделать свою прошивку для ФАПЧ.
по крайней мере не уместны. Я не "рисую" схему или прошивку на листочке карандашиком с головы. Я думаю, Вам стоит перечитать тему с самого начала.
Attachments

34684321097.jpg
34684321097.jpg (302.05 KiB) Viewed 10938 times

Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

shoorick wrote: для работы с ними применяю секретный дивайс:
Зачетный секретный девайс :ebiggrin:
Провел "бесчеловечный" опыт по чтению РТ5 в программаторе MiniPro, Барсик, можете посмотреть/оценить адекватность считанной прошивка с РТ5 ?
Мне нужна подсказка по чтению РЕ3 в моем программаторе.
Attachments

элис_556PT5.zip
(511 Bytes) Downloaded 426 times

User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 10:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Post by barsik »

Посмотрел ПЗУ РФ2 из платы КНГМД. Там занято лишь небольшая часть ПЗУ и судя по титрам содержит DISK LOADER, причём версии 0.2.

По сбросу ROM-BIOS считывает из ROM-диска (стоящего по I/O-адресу 58H) содержимое ROM-диска на адрес B000 и делает запуск этого кода с адреса B001 (на адресе 0000 ПЗУ стоит байт 55H, это признак ROM-диска).

Этот код из ПЗУ перегруженный и запущенный с адреса B001 грузит из этого же ROM-диска 2 кб с адреса 0022 в ПЗУ на адрес D000 в ОЗУ и запускает считанный код с адреса D010. Видимо адрес B000 (загрузку куда выполняет ROM-BIOS) был неудобен для CP/M, потому сделали двойной загрузчик.

 Disk Loader 0.2

Code: Select all

; Код ПЗУ КНГМД расположенный с адреса 0022,
; который грузится на D000 программой с B000

        .Z80
        aseg
        ORG     100H

        .phase  0D000H

PPA     EQU     58H
VG93    EQU     50H

CONIN   EQU     0F803H
COUT_C  EQU     0F809H
HEX_A   EQU     0F815H
MSSG    EQU     0F818H

; ----------------------------------------------

MSG     MACRO   ADDR
        LD      HL,ADDR
        CALL    MSSG
        ENDM
        
; ----------------------------------------------

AD000:  IN      A,(VG93+3)              ; чтение байта и запись на (DE++)
        LD      (DE),A
        INC     DE
        JP      AD008

; ----------------------------------------------

N_POVT: defb    0

; ----------------------------------------------

AD008:  IN      A,(PPA)         ; ожидание готовности по биту D3
        LD      L,A
        JP      (HL)

; ----------------------------------------------

        RET                     ; возврат из загрузки сектора

; ----------------------------------------------

        defb    0,0,0

; ----------------------------------------------


AD010:  LD      SP,0E400H

        LD      A,00100001B     ; 0010 0001 сегменты 0 и 4000
        OUT     (0),A
        LD      A,00110101B     ; 0011 0101 сегменты 8000 и С000
        OUT     (1),A
        
        MSG     TITR
        
        CALL    AD1A6
        
        LD      HL,100H
        LD      (CURADR),HL
        
        XOR     A
        LD      (TRACK),A
        INC     A
        LD      (SECTOR),A

AD032:  CALL    AD113
        AND     A
        JP      NZ,GETKEY

AD039:  LD      A,(AD1F1)
        ADD     A,4
        LD      (AD1F1),A               ; это лишнее
        
        LD      A,(SECTOR)
        INC     A
        LD      (SECTOR),A
        
        CP      6
        JP      C,AD032
        
        LD      A,1
        LD      (SECTOR),A
        
        LD      A,(TRACK)
        INC     A
        LD      (TRACK),A
        
        CP      2
        JP      C,AD032
        
        MSG     T_WK
        
        LD      HL,(100H)
        LD      DE,7ECFH        ; на 100H д.быть байты 31,81
        ADD     HL,DE
        LD      A,H
        OR      L
        JP      Z,100H          ; если считаны байты 31 81 стартуем
        
        MSG     TNOBOO

AD076:  CALL    CONIN
        AND     5FH
        CP      'A'
        JP      Z,0F836H
        CP      'R'
        JP      Z,AD010         ; повторить загрузку
        
        LD      C,7
        CALL    COUT_C          ; гудок
        
        JP      AD076

; ----------------------------------------------


GETKEY: CALL    CONIN
        AND     5FH
        CP      'A'
        JP      Z,0F836H        ; Abort
        CP      'R'
        JP      Z,AD032         ; Repeat
        CP      'I'
        JP      Z,AD039         ; Ignore
        CP      'B'
        JP      Z,AD010         ; Restart
        
        LD      C,7
        CALL    COUT_C          ; гудок
        
        JP      GETKEY

; ----------------------------------------------

AD0AE:  LD      A,(SPEED)
        AND     A
        LD      B,18H
        LD      HL,AD1EA
        JP      Z,AD0BD
        INC     HL
        LD      B,28H

AD0BD:  LD      (AD1EC),HL
        LD      A,(TRACK)
        RRA     
        LD      (AD1F2),A
        RRA     
        RRA     
        AND     01000000B
        OR      B
        LD      B,A
        OUT     (PPA+2),A
        
        LD      A,92H
        OUT     (PPA+3),A               ; режим ППА
        
        LD      A,B
        OUT     (PPA+2),A
        
        IN      A,(PPA+1)
        LD      C,A
        
        LD      A,90H
        OUT     (PPA+3),A               ; режим ППА
        
        LD      A,B
        OR      10000000B
        OUT     (PPA+2),A
        LD      A,C
        RRCA    
        RET     NC
        LD      H,4DH
        CALL    PAUSHL
        RET     

; ----------------------------------------------

AD0EB:  EX      DE,HL
        LD      HL,(CURADR)
        EX      DE,HL
        
        LD      A,(SECTOR)
        OUT     (VG93+2),A
        
        LD      A,(TRACK)
        AND     1
        RLCA    
        RLCA    
        RLCA    
        RET     

; ----------------------------------------------

AD0FE:  CALL    READY

        LD      A,0
        OUT     (VG93),A
        
        CALL    READY
        
        LD      H,4DH
        CALL    PAUSHL
        
        XOR     A
        LD      HL,(AD1EC)
        LD      (HL),A
        RET     

; ---------------------------------------------------------------------------

AD113:  LD      A,9
        LD      (N_POVT),A
        
        CALL    AD0AE

AD11B:  CALL    AD188
        LD      HL,AD000
        LD      A,L             ; A=0
        OUT     (PPA+1),A
        
        CALL    AD0EB
        
        OR      10000110B
        CALL    READY
        OUT     (VG93),A
        
        CALL    AD008
        
        PUSH    HL              ; задержка
        POP     HL
        
        IN      A,(VG93)
        AND     A
        JP      Z,@RET
        
        LD      (KORR_1),A      ; здесь корректируется код программы
        
        CALL    AD0FE
        
        LD      A,(N_POVT)
        DEC     A
        LD      (N_POVT),A
        
        JP      NZ,AD11B
        
        LD      A,1
        PUSH    AF
        
        MSG     T_ERR

KORR_1  EQU     $+1

        LD      A,0             ; не 'XOR A' т.к здесь корректируется код
        CALL    HEX_A
        
        MSG     T_TRK
        
        LD      A,(TRACK)
        CALL    HEX_A
        
        MSG     T_SEC
        
        LD      A,(SECTOR)
        CALL    HEX_A
        
        MSG     T_ARIB
        
        POP     AF
@RET:   RET     

; ----------------------------------------------

PAUSHL: LD      L,0
        CALL    PAUS_L
        DEC     H
        RET     Z
        JP      PAUSHL

; ----------------------------------------------

PAUS_L: DEC     L
        PUSH    HL
        POP     HL
        RET     Z
        JP      PAUS_L

; ----------------------------------------------

AD188:  LD      HL,(AD1EC)
        LD      A,(HL)
        OUT     (VG93+1),A
        
        LD      HL,AD1F2
        CP      (HL)
        RET     Z
        
        LD      A,(HL)
        LD      HL,(AD1EC)
        LD      (HL),A
        OUT     (VG93+3),A
        
        CALL    READY
        
        LD      A,10H
        OUT     (VG93),A
        
        CALL    READY
        RET     

; ----------------------------------------------

        RET     

; ----------------------------------------------

AD1A6:  DI      
        LD      A,90H
        OUT     (PPA+3),A               ; режим ППА
        
        LD      A,0D0H
        OUT     (VG93),A
        
        LD      A,10011000B
        OUT     (PPA+2),A
        
        LD      H,4DH
        CALL    PAUSHL
        
        XOR     A
        OUT     (VG93),A
        
        CALL    READY
        
        LD      A,14H
        OUT     (VG93+3),A
        
        LD      A,0AH
        OUT     (VG93),A
        
        CALL    READY
        
        LD      A,40H
        OUT     (VG93),A
        
        CALL    READY
        
        XOR     A
        OUT     (VG93),A
        LD      (AD1EA),A
        
        CALL    READY
        
        LD      A,5
        CALL    PAUS_L
        
        RET     

; ----------------------------------------------

READY:  PUSH    AF              ; ждём готовность ВГ93
AD1E0:  IN      A,(VG93)
        AND     1
        JP      NZ,AD1E0
        POP     AF
        RET     

; ----------------------------------------------

SPEED:  defb    0
AD1EA:  defb    0
        defb    0
AD1EC:  DW      0000
TRACK:  defb    0
SECTOR: defb    1
CURADR: defb    0
AD1F1:  defb    1
AD1F2:  defb    0

TITR:   defb    1BH,39H,9,9,1BH,33H,'Disk loader 0.2',1BH,32H
T_WK:   defb    13,10,0

T_ERR:  defb    13,10,'BOOT I/O Err.-',0

T_TRK:  defb    ' T-',0
T_SEC:  defb    ',S-',0
T_ARIB: defb    '; (A,R,I,B): ',0

TNOBOO: defb    13,10,'NON-BOOTABLE DISK, (A,R): ',0

; ----------------------------------------------

        rept    0D800H - $
        defb    255
        ENDM
        
        .dephase
        
        END

Из вышеприведённого листинга можно понять принцип за счёт которого разработчики "Элис" преодолели проблему недостаточного быстродействия КР580 на такте 2 МГЦ. Идея ясна из процедур AD008 (петля ожидания готовности) и AD000 (чтение байта).
Asgard wrote:можете посмотреть/оценить адекватность считанной прошивка с РТ5 ?
РТ5 в "Элис" используется или как кодопреобразователь или как коммутатор режимов. В обоих случаях визуально в коде ничего не понять. Надо анализировать схему совместно с побитово изображённой прошивкой. По дампу можно лишь проверить, что на тех выходах, что задействованы в схеме, сигналы хоть как-то меняются.

По идее на одни входы РТ5 д.быть заведены RGB с выходов сдвиговых регистров трёх плоскостей, а на другие адресные входы д.быть заведены управляющие сигналы - или выбор палитры или выбор видео-режима (в зависимости от того для чего конкретно в данной схме используется РТ5). К сожалению, я очень слаб в схемотехнике, я лишь видел в двух компьютерах (один из которых ИРИША), что там на видеовыходе стоял кодопреобразователь на РТ5.
Last edited by barsik on 19 Sep 2018 01:29, edited 7 times in total.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 09:38
Location: Москва

Re: Возрождение "Элис"

Post by Tronix »

Asgard wrote: Мне нужна подсказка по чтению РЕ3 в моем программаторе.
Да тут просто вроде все. Находите в списке самую минимальную ПЗУ-шку, которую может программатор, например 2716. Ну а дальше соединяем адреса с адресами, то есть A0 к A0 РЕ3, A1 к A1 РЕ3 и тд до A4. А данные с данными, то есть D0 на D0 и тд. Только данные не забываем подтянуть к питалову, а то у РЕ3 афаик выход - открытый коллектор. CS у РЕ3 кидаем на /CE 2716. Вроде все. Читаем в программаторе как 2716. В дампе оставляем первые 32 байта - это и есть прошивка РЕ3. Остальной мусор отрезаем в любом шестнадцатеричном редакторе.
Attachments

re3.png
re3.png (23.93 KiB) Viewed 10930 times

Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Tronix wrote: Только данные не забываем подтянуть к питалову, а то у РЕ3 афаик выход - открытый коллектор. CS у РЕ3 кидаем на /CE 2716. Вроде все. Читаем в программаторе как 2716. В дампе оставляем первые 32 байта - это и есть прошивка РЕ3. Остальной мусор отрезаем в любом шестнадцатеричном редакторе.
Вот оно что :esmile: волшебные резисторы подтяжки питалова, а то думаю что за Х происходит. Как я про них забыл :lol:
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 09:38
Location: Москва

Re: Возрождение "Элис"

Post by Tronix »

Asgard wrote: волшебные резисторы подтяжки питалова
У РТ5 кстати тоже выходы - открытый коллектор, тоже тянуть к верху надо.
Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Поколдовал с проводками и программатором, прочитал РЕ3.
Посмотрите пожалуйста, есть адекватность в содержимом ?
Attachments

элис_КНГМД_rom_155РЕ3.zip
(304 Bytes) Downloaded 434 times

Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re:

Post by Asgard »

barsik wrote:Посмотрел ПЗУ РФ2 из платы КНГМД. Там занято лишь небольшая часть ПЗУ и судя по титрам содержит DISK LOADER, причём версии 0.2.
То есть позволяет использовать СР/М, интересно, другой формат чтения/записи на диск в контроллере есть ?
barsik wrote:РТ5 в "Элис" используется или как кодопреобразователь или как коммутатор режимов. В обоих случаях визуально в коде ничего не понять. Надо анализировать схему совместно с побитово изображённой прошивкой. По дампу можно лишь проверить, что на тех выходах, что задействованы в схеме, сигналы хоть как-то меняются.

По идее на одни входы РТ5 д.быть заведены RGB с выходов сдвиговых регистров трёх плоскостей, а на другие адресные входы д.быть заведены управляющие сигналы - или выбор палитры или выбор видео-режима (в зависимости от того для чего конкретно в данной схме используется РТ5). К сожалению, я очень слаб в схемотехнике, я лишь видел в двух компьютерах (один из которых ИРИША), что там на видеовыходе стоял кодопреобразователь на РТ5.
Так на схеме и есть, в основном сигналы идут с порта ВВ55, и туда же приходят сигналы со сдвигающих регистров ИР1 (возможно RGB и есть). На выходах РТ5 резисторный смеситель и транзисторы стоят, схему пока не срисовывал.
Так же этот порт ВВ55 управляет или что-то пишет в оперативную память.
Жаль нет "Руководства системного программиста", туда все ссылки из инструкции, там , кстати описано назначение переключателей.
Attachments

Элис_Test1.jpg
Элис_Test1.jpg (399.74 KiB) Viewed 10908 times

Mixa64
Doomed
Posts: 481
Joined: 25 Aug 2009 14:02
Location: Москва

Re: Возрождение "Элис"

Post by Mixa64 »

Asgard wrote:
Mixa64 wrote:А какую функцию выполняет связка ВВ55 и РФ2? Накопитель в 2 килобайта вне адресного пространства?
Барсик выше написал "что ВВ55 и РФ2 включены по схеме ROM-диска ОРИОНА и РК86."
Спасибо. Тему смотрел бегло, видимо, упустил.
Mixa64 wrote:И странное решение, выход РЕ3 непосредственно на вход C ТМ2, я бы сказал, нехорошее, и даже недопустимое.
Может быть, имеет смысл переместить эту цепь на выход ТМ8,
И там и там ТТЛ уровни, прошивка из РЕ3 перезапускает ТМ8 одновременно идет на вход С ТМ2. Где недопустимость ? Если есть сомнение в правильности восстановленной схемы, можете посмотреть кусочек узла сами.
Хочу напомнить, схема восстанавливается с оригинальной платы КНГМД "ЭЛИС", который провел 28 лет в забвении.
И высказывание
Mixa64 wrote:и не считывать содержимое РЕ3, а посидеть с листочком и карандашиком и сделать свою прошивку для ФАПЧ.
по крайней мере не уместны. Я не "рисую" схему или прошивку на листочке карандашиком с головы. Я думаю, Вам стоит перечитать тему с самого начала.
Внимательно углубляться - у меня такой цели нет :) , просто замечания по ходу, принимать их или не принимать - Ваше дело, зависит от целей. Если есть возможность или потребность причесать конструкцию, то почему бы и нет. На выходе ПЗУ при переключении адресных входов возможны ложные перепады уровней, что может вызывать ложное перекидывание ТМ2. Если в серийном изделии все работает - значит, повезло. Но обычно так не делают.
User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 10:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Принцип работы КНГМД "Элиса"

Post by barsik »

.
Принцип преодоления нехватки скорости КР580 на такте 2 МГЦ другой, чем в четырёх ранее известных вариантах КНГМД для Специалиста.

Принцип тут очень оригинальный и заключается в том, что для анализа сигналов на выводах ВГ93 сами эти биты задают адрес перехода программы. Это позволяет ускорить реакцию на готовность при считывания байтов из ВГ93.

Биты DRQ и INTRQ напрямую задают адрес перехода в команде JP (HL), для чего эти биты размещаются в нужных разрядах буфера, через который эти биты читаются. Конкретно здесь адрес перехода в зависимости от состояния выводов DRQ, INTRQ ВГ93 - получается или D000, или D008, или D00C. Т.е управление происходит битами D2 и D3 читаемыми через буфер (в роли которого используется порт А ППА при неактивном РФ2).

Адрес AD008 - это вход в процедуру ожидания готовности. При неготовности бит D3=DRQ=1 и соответственно HL равен D008, отчего просто крутится цикл (пока DRQ не станет нулём). Так ожидается готовность. Таким образом анализ готовности происходит неявно, т.е на это не тратится команда процессора, что и обеспечивает возможность работы на низкой частоте процессора.

При наступлении готовности в HL оказывается адрес D000, и после команды JP (HL) и перехода на AD000 из ВГ93 считывается байт (туда, куда указывает DE) и снова программа переходит на AD008 для ожидания следующего байта.

Code: Select all

AD000:  IN      A,(VG93+3)   ; считываем байт и кладём на (DE++)
        LD      (DE),A
        INC     DE
        JP      AD008

        DS        1

AD008:  IN      A,(PPA)      ; процедура ожидания запроса DRQ
        LD      L,A          ; в рег.L или 00 или 08 или 09
        JP      (HL)         ; на D000/D008 в зависимости от бита DRQ

AD00C:  RET                  ; конец считывания сектора

В этих процедурах мы не видим проверки на считанное число байтов. По окончании считывания последнего байта сектора (или по ошибке) из PA считается не 08, а 0C, т.к возникнет сигнал INTRQ. По JP (HL) произойдёт переход на D00C, где стоит RET и считывание сектора заканчивается.

Теперь ясно, что ранее я был неправ в назначении ППА. А именно ППА применён не только для целей ROM-диска (это как раз побочное использование, раз уж ППА уже есть), а является частью самого КНГМД (т.к через него читаются сигналы с выводов ВГ93). Т.е этот ППА (его порт А) используется в качестве буфера для чтения сигналов DRQ и INTRQ. Причём и распределение битов DRQ и INTRQ в этом буфере сделано хитро, а именно по битам D3 и D2.

Обратите внимание на странное включение резисторов на входах PA0...PA7. По идее, когда РФ2 неактивно, на всех входах, кроме PA2 и PA3, должны как-то устанавливаться нули. Только тогда из порта PA будут читаться требуемые 00, 08 и 0C. Кстати, чтобы по битам D2 и D3 при считывании РФ2 через ППА выходы ВГ93 не мешали, использованы резисторы.

Кстати, ранее был известен другой вариант использования выхода DRQ (в каком-то отечественном компьютере). Там бит DRQ входит прямо в программу, - при его изменении меняется сам код программы. При неготовности прогоняется цикл ожидания, а по готовности код команды меняется, отчего происходит выход из цикла ожидания и выполняется команда считывания байта из ВГ93 (или запись в ВГ93).

Нужно считать маш.такты, чтобы понять какой вариант по скорости более выгодный. Но вариант "Элиса" не только более оригинальный или можно сказать более извращённый, но и выгоднее аппаратно (т.к не нужна схемотехника для включения бита DRQ в код программы).
Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Mixa64 wrote:Внимательно углубляться - у меня такой цели нет :) ....
......На выходе ПЗУ при переключении адресных входов возможны ложные перепады уровней, что может вызывать ложное перекидывание ТМ2. Если в серийном изделии все работает - значит, повезло. Но обычно так не делают.
Кто в лес, кто по грибы :ebiggrin:
Ложные срабатывания... фантомные куски кода..... искусственный интеллект в 32х битах 155РЕ3 :ebiggrin: :ebiggrin: :ebiggrin:
Вы не стесняйтесь, спросите у сообщества :ebiggrin:
З.Ы. подсказка - подтягивающий резистор... Сам давеча погрешил :ebiggrin:
Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Мне не понятно назначение этих резисторов (между ШД и ША РФ2), думал что ошибся при рисовании схемы. Еще не понятно, что за сигнал идет с РВ0 ВВ55 (А0 на РФ2) через резистор на дисковод, туда же подмешивается РС7 ВВ55 через транзисторы и элемент ЛА13. На схеме со стороны дисковода 20й контакт.
User avatar
Клапауций
Banned
Posts: 412
Joined: 29 Jun 2018 15:48

Re: Возрождение "Элис"

Post by Клапауций »

Asgard wrote:Мне не понятно назначение этих резисторов (между ШД и ША РФ2), думал что ошибся при рисовании схемы. Еще не понятно, что за сигнал идет с РВ0 ВВ55 (А0 на РФ2) через резистор на дисковод, туда же подмешивается РС7 ВВ55 через транзисторы и элемент ЛА13. На схеме со стороны дисковода 20й контакт.
если речь идёт о цифровых линиях передачи данных, то резисторы дели на две категории - подтягивающие и проходные.
подтягивающие применяются, когда нужно определить уровень линии в нужный логический уровень, когда линия находится в неуправляемом состоянии.
проходные применяются, когда нужно согласовать уровни логических сигналов - если они выходят за допустимые пределы при использовании разнокалиберного зоопарка источников/приёмников логического сигнала.

*возможно я не вижу всей высоты глубины дна проблем, преследующих сабж и резисторы там что-то ещё делают.
Mixa64
Doomed
Posts: 481
Joined: 25 Aug 2009 14:02
Location: Москва

Re: Возрождение "Элис"

Post by Mixa64 »

Asgard wrote:
Mixa64 wrote:Внимательно углубляться - у меня такой цели нет :) ....
......На выходе ПЗУ при переключении адресных входов возможны ложные перепады уровней, что может вызывать ложное перекидывание ТМ2. Если в серийном изделии все работает - значит, повезло. Но обычно так не делают.
Кто в лес, кто по грибы :ebiggrin:
Ложные срабатывания... фантомные куски кода..... искусственный интеллект в 32х битах 155РЕ3 :ebiggrin: :ebiggrin: :ebiggrin:
Вы не стесняйтесь, спросите у сообщества :ebiggrin:
З.Ы. подсказка - подтягивающий резистор... Сам давеча погрешил :ebiggrin:
А иголки на выходе у 556РТ5, 556РТ4, 155РЕ3 осциллографом никогда не видели? Я видел. Вполне себе такой импульс, перекидывающий ТМ2. Объясняю подробнее. Внутри ПЗУ есть адресный дешифратор, который при изменении кода адреса, скажем, Адр1 на Адр2 переходит в состояние выбора другой ячейки, но во время перехода может пройти через промежуточное состояние выбора третьей ячейки, отличной от Адр1 или Адр2. И если содержимое ячеек Адр1 и Адр2 на выходе дает "1", а содержимое третьей ячейки на выходе дает "0", то на выходе вместо постоянной "1" будет наблюдаться "1" с очень коротким "0" в момент смены кода адреса. Поэтому выходами ПЗУ никогда не управляют входами, чувствительными к перепаду напряжения. Могут быть ложные срабатывания.
Asgard
Novelist
Posts: 45
Joined: 21 Aug 2018 10:21
Location: Дальний Восток

Re: Возрождение "Элис"

Post by Asgard »

Mixa64 wrote:А иголки на выходе у 556РТ5, 556РТ4, 155РЕ3 осциллографом никогда не видели?....
....Могут быть ложные срабатывания.
Да Бог сними, с этими иголками. Через 28-30 лет сложно представлять, чем мотивировался создатель схемы - "нестабильностью стабильной системы" или трудностями с наличием деталей. Лепили из того что было.
Post Reply