Mick, а у eljero есть возможность временно запитать комп от нормального БП-ATX для проверки? p.s. Имхо, как-то неправильно подгонять вечно работающий код БАЗИКА128 под китайский БП сомнительного назначения.
Вид для печати
Mick, а у eljero есть возможность временно запитать комп от нормального БП-ATX для проверки? p.s. Имхо, как-то неправильно подгонять вечно работающий код БАЗИКА128 под китайский БП сомнительного назначения.
А не пробовали немножко задержать старт процессора Reset-ом? ОЗУ "приходит в себя" после прохода по нему теста или же достаточно будет, что его подергает экран?
В начале ПЗУ там насколько помню идет очистка области от каких то адресов 6XXX до FFFFh, а затем проверяется количество страниц памяти. Тоесть до экрана еще не доходит дело.
Скажем так изначально ведь не предполагалось, что будут в Спектрум пихать 1мб памяти :)
TR-DOS ведь сколько раз патчили.
Ну в добавок, возможно причина неработающих из этой темы планок в этом. Поскольку вроде не понятно почему некоторые планки из этой темы у кого то работают, а у других нет.
P.S. По прежнему ищется дизассм BASIC 128
Вот по сути кусок начального кода
Тут я ошибся, сказав что чистит память - обчная задержка (Пауза)
А вот тут идет тест, где видим, что он берет и проверяет все 8 страниц, записывая сначала FF, затем 00Код:seg000:0000 di
seg000:0001 ld bc, 692Bh
seg000:0004
seg000:0004 loc_0_4: ; CODE XREF: seg000:0007j
seg000:0004 dec bc
seg000:0005 ld a, b
seg000:0006 or c
seg000:0007 jr nz, loc_0_4
seg000:0009 jp loc_0_C7
И если ему плохо то висняк тутКод:seg000:00C7 loc_0_C7: ; CODE XREF: seg000:0009j
seg000:00C7 ld b, 8
seg000:00C9
seg000:00C9 loc_0_C9: ; CODE XREF: seg000:00E8j
seg000:00C9 ld a, b
seg000:00CA exx
seg000:00CB dec a
seg000:00CC ld bc, 7FFDh
seg000:00CF out (c), a
seg000:00D1 ld hl, 0C000h
seg000:00D4 ld de, 0C001h
seg000:00D7 ld bc, 3FFFh
seg000:00DA ld a, 0FFh
seg000:00DC ld (hl), a
seg000:00DD cp (hl)
seg000:00DE jr nz, loc_0_131
seg000:00E0 xor a
seg000:00E1 ld (hl), a
seg000:00E2 cp (hl)
seg000:00E3 jr nz, loc_0_131
seg000:00E5 ldir
seg000:00E7 exx
seg000:00E8 djnz loc_0_C9
seg000:00EA ld (5B88h), a
seg000:00ED ld c, 0FDh ; '¤'
seg000:00EF ld d, 0FFh
seg000:00F1 ld e, 0BFh ; '┐'
seg000:00F3 ld b, d
seg000:00F4 ld a, 0Eh
seg000:00F6 out (c), a
seg000:00F8 ld b, e
seg000:00F9 ld a, 0FFh
seg000:00FB out (c), a
seg000:00FD jr loc_0_137
Вот и возникает вопрос, что происходит в первоначальное включение, что память не успевает отреагировать на этот кусок кода. Память сама по себе рабочая.Код:seg000:0131 loc_0_131: ; CODE XREF: seg000:00DEj
seg000:0131 ; seg000:00E3j
seg000:0131 exx
seg000:0132 ld a, b
seg000:0133 out (0FEh), a
seg000:0135
seg000:0135 loc_0_135: ; CODE XREF: seg000:0135j
seg000:0135 jr loc_0_135
Вот сейчас пришла мысль по поводу эксперимента. Посмотреть а очухается она в итоге, если например сделать переход по ошибке не на loc_0_131, а в 0000 адрес. То есть не прошел - заново.
Короче облом вышел. Рано я радовался, вернулось все на круги своя. Тоесть вывод отсюда - не программно, а что то аппаратно не нравится памяти в начальный момент запуска (при первом включении в розетку).
Я пошел на радикальный шаг, поставил другие планки - та жа фигня. Совсем отрадикалил - сдул третьи лишние микрухи с планок. Ничего не поменялось. К сожалению. Пока мысли закончились.
https://c.radikal.ru/c04/1806/56/6cf1c6e35e0at.jpg
Mick, а что с питанием на выводах СИММа? Напряжение, пульсации?