Чтобы было понимания процесса.
В общем пользователь eljero с барахолки купил у меня Феню, но фигня состоит в том что у меня он работал и включался сразу, а у него он никак не хочет включаться. Тоесть мозаика из квадратов и все. Хорошо, спрашиваю какой блок питания используешь. Он сказал типа вот этого ATX PSU 12 В 120 Вт.
Попросил меня разобраться, вот я решил прикупить вот такой - https://ru.aliexpress.com/item/Reala...811468131.html
Когда пришел, то приятно разочаровал, ему оказывается надо толстоамперный 12В источник. Который у меня был 2,5А он даже не почувствовал.
Пришлось прикупить еще вот этот - https://ru.aliexpress.com/item/12V-1...728306566.html
Когда все это собралось, то он один фиг работает. Но при первом старте - он как раз в мозаике. Помогает только выключение, но затем хоть обвыключайся - комп стартует сразу.
И чтобы поймать ситуацию надо чтобы комп простоял обесточенным не менее часа 2. И вот потыкал осцилом в момент мозаики - он в ПЗУ крутится похоже в районе 0135h адреса.
Вот по сути кусок начального кода
Сначала обычная задержка (Пауза)
- Code: Select all
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
А вот тут идет тест, где видим, что он берет и проверяет все 8 страниц, записывая сначала FF, затем 00
- Code: Select all
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
И если ему плохо то висняк тут
- Code: Select all
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
Память сама по себе рабочая. Вот только не пойму что ей надо в первоначальный момент запуска (когда комп был выключен из розетки)
Планки памяти менял - результат тот же.