|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Я таки прогнал тест 8080 Exerciser на своем новоделе РК на SRAM. Тема была в том, что мой экземпляр, как я уже писал, собран не на КР580ВМ80A, а на P8080A 1977 года, поэтому было интересно проверить. . Увы, родные исходники Exerciser написаны под ассебмлер M80 для CP/M, и там используется какой-то изощренный синтаксис для макросов, когда любой параметр макроса может сам раскрываться в переменное количество подпараметров. Я так и не нашел ассемблера для Windows/Linux/Mac, чем это можно собрать. В итоге я форкнул проект в 8080ex1, чтобы он компилировался в AS. Изменения чисто косметические для совместимости с AS. В процессе сборки новых из исходников бинарь автоматически сравниваться с оригинальным бинарем на полное совпадение. Далее, надо было запустить это на РК. Изначально Exerciser заточен под BDOS. Я снова форкнул 8080ex1 в rk86-ex1, где дописал необходимое. Мои изменения эмулируют два вызова BDOS, попутно переводя выводимые буквы в верхний регистр. Также производится логгирование экранного вывода в память с адреса 4000. Последнее нужно, так как вывод теста полностью не влезает на экран РК и скроллируется. После окончения теста сохраненный вывод можно распечатать повторно, используя РУС/ЛАТ для паузы. Также из команда EI заменена на NOP, чтобы не пищало всю дорогу (на результаты это не влияет), и начальное положение стека установлено на 5000 (а не через "LHLD 6, SPHL"). Тест на моем РК с частотой 2MHz занимает около 3 часов. Для ленивых можно взять готовый бинарь rk86ex1.bin. Запускать через "G100". Когда тест закончится и выйдет в Монитор, можно повторно распечатать результаты через "G80". Вот скрины моего "прогона": Несовпадений два: Результаты отосланы автору Exerciser для коллекции. Ну и чтобы два раза не вставать, создатель этого новодела РК написал грамотную программку mac2rk для заливки бинарей в РК под видом магнитофона. Знаю, что такие программы уже есть, но эта чисто под Mac (хотя, может и под Linux соберется). UPDATE: Судя по всему процессор, который стоит у меня в РК, является клоном от AMD и называется 9080A. Товарищ Славинский сказал, что отличия в моих тестах выглядят немного странно, и могут быть следствием ошибок при портировании, хотя мой бинарь совпадает с оригинальным один в один. Есть мысль купить на ebay еще один i8080 (там они еще есть долларов по 20 на штуку) для тестирования.
|
29 Oct 2012 04:03 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Тайна загадочного поведения процессора AMD 9080 раскрыта . Итак, Exerciser показал два несовпадения (см. в предыдущем коменте).
Вот реализация ANA из моего i8080-core, где флаг AC (H) вычисляется, как известно, через одно место.
Теперь меняем на более логичную реализацию, где AC просто обнуляется: И прогоняем тест: | | | | Code: ********************************* File "8080EX1.COM" loaded, size 4608 8080 instruction exerciser (KR580VM80A CPU) dad <b,d,h,sp>................ OK aluop nn...................... ERROR **** crc expected:9e922f9e found:7799ea9d aluop <b,c,d,e,h,l,m,a>....... ERROR **** crc expected:cf762c86 found:b3491c2a <daa,cma,stc,cmc>............. OK <inr,dcr> a................... OK <inr,dcr> b................... OK <inx,dcx> b................... OK <inr,dcr> c................... OK <inr,dcr> d................... OK <inx,dcx> d................... OK <inr,dcr> e................... OK <inr,dcr> h................... OK <inx,dcx> h................... OK <inr,dcr> l................... OK <inr,dcr> m................... OK <inx,dcx> sp.................. OK lhld nnnn..................... OK shld nnnn..................... OK lxi <b,d,h,sp>,nnnn........... OK ldax <b,d>.................... OK mvi <b,c,d,e,h,l,m,a>,nn...... OK mov <bcdehla>,<bcdehla>....... OK sta nnnn / lda nnnn........... OK <rlc,rrc,ral,rar>............. OK stax <b,d>.................... OK Tests complete Jump to 0000 from 0137
| | | | |
Точно такие же два отличия.
Значит в этом AMD 9080 флаг AC в командах ANA/ANI просто обнуляется. В этом все отличие.
|
30 Oct 2012 03:29 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если я тебя правильно понял, железные клоны i8080 могут отличаться как от оригинала,
так и между собой?
А что показывает по тестам наш КР580ВМ80А ?
_________________ iLavr
|
30 Oct 2012 08:27 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Судя по моему недавному опыту с Am9080 - могут отличаться от "канонического" поведения i8080 (если таковое существует). А вот насчет "между собой" - не знаю.
Со слов Славинского, процессоры, что видел он в процессе работы на Вектором/ПЛИС, интеловые и наш ВМ80A в показателях Exerciser'a идентичны. А вот Am9080 оказался особенный.
Было б интересно прогнать на КР580ИК80. Народ, у кого РК на ИК -- прогоните мой бинарь Excerciser'а - rk86ex1.bin!
Все просто. Надо загрузить файл с адреса 0, запустить G100, подождать 3-4 часа и сфоткать экран. Если проскроллилось более одного экрана, то сказать G80, и, удерживания РУС-ЛАТ, аккуратно сфоткать все разультаты.
|
30 Oct 2012 08:38 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Есть ИК, но нет РК
А на "Орион" не переносимо?
|
30 Oct 2012 09:53 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Конечно переносимо, но я, увы, никогда не видел в жизни живого Ориона, только читал в Радио. . Нужен опытный владелец, а я помогу собрать бинарь для Ориона, если мне объяснят что надо изменить.
|
30 Oct 2012 09:56 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
У меня никак не дойдут руки на живом " Специалисте" попробовать...
Вроде как используется лишь одна стандартная функция - вывод на печать (консоль)?
И 3 часа времени примерно надо выждать на 2МГц, так?
PS. Судя по исходникам, для "Ориона" и "Специалиста" в тесте сильно ничего менять не надо. Нужно только, чтобы в обоих компах был Монитор с функциями: +monitor_hexb equ 0f815h +monitor_putc equ 0f809h +monitor_puts equ 0f818h +monitor equ 0f86ch --------> это вроде как 0F81BH - ввод символа без остановки программы. Его можно найти и пропатчить в бинарнике, мне думается...
PPS. Нееее... бес попутал: +monitor equ 0f86ch --------> это: управление МОНИТОРУ передается по адресу 0F86CH, что позволяет обойти процедуру очистки экрана.
_________________ iLavr
|
30 Oct 2012 18:41 |
|
|
sergey2b
Fanat
Joined: 10 Sep 2009 04:27 Posts: 82 Location: 41.213.126.12
|
begoon посоветуйте пожалуйста дизасемблер для i8080
|
05 Nov 2012 10:18 |
|
|
begoon
Senior
Joined: 22 Aug 2012 17:06 Posts: 144 Location: 188.220.42.216
|
Если кондовый подойдет, то можно взять мой i8080.c. Если для серьезного анализа, то IDA. Еще я недавно закоммитил в radare2 патч для диассемблирования i8080.
|
05 Nov 2012 10:44 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22735 Location: Silicon Valley
|
Am9080 - это реверс-сынжениренный i8080 от AMD:
http://en.wikipedia.org/wiki/AMD_Am9080
Я недавно прикупил парочку
|
05 Nov 2012 12:35 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А кто-нибуть знает аналогичную программу для тестирования CPU 6502 с оригинальной системой команд?
Я сам погуглил, но сабж мне конкретно не попался, есть попытки тестов для 65С02, но,
к сожалению, не на Ассемблере.
Самый популярный тест для 6502 - вот этот:
Klaus Dormann's Functional Test for the NMOS 6502
но он использует какой-то странноватый компилятор...
PS. Нашел я довольно несложный, но, на мой взгляд, логичный и не слишком длительный тест. Выполняется быстро даже на довольно медленных эмуляторах: TTL6502TEST.
_________________ iLavr
|
24 Dec 2014 11:49 |
|
|
Bronto
Writer
Joined: 19 May 2014 03:47 Posts: 17 Location: Челябинск
|
отчётливо видно, что год здесь не 77-й, а позже. 77-й здесь год авторского права на маску процессора, а не на изготовление чипа (конкретного изделия). Зачем такие глупости писать, вы же взрослый вроде
|
15 Apr 2015 04:01 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22735 Location: Silicon Valley
|
79-й?
|
15 Apr 2015 05:37 |
|
|
sergey2b
Fanat
Joined: 10 Sep 2009 04:27 Posts: 82 Location: 41.213.126.12
|
мой первый рк86 в конце 86 года выглядел на 90% аналогично только текстолит был покрашен черной краской
|
25 Mar 2024 15:14 |
|
|
Who is online |
Users browsing this forum: No registered users and 2 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|