ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 19 окт 2017, 14:04

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 04 окт 2012, 15:37 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
На гитхабе стал доступен репозитарий с исходниками эмулятора процессора i8080 на Си. Это разработка Александра Дёмина, автора эмулятора Радио-86РК на js, послужившего источником вдохновения для одной "отечественной разработки". Все подробности можно прочесть в одноименной теме на форуме nedoPC. По результатам тестирования автор обещает отличную совместимость с оригиналом. Кстати, было бы интересно прогнать через тест "8080/8085 CPU Exerciser" реализации ЦП в эмуляторах ПК-01. :wink:

p.s.
Александр ведет отличный блог, где время от времени пишет про ретроПК и прочие любопытные древности. Так, недавно он написал интригующую заметку "Реализация простого ядра Forth", что перекликается с одной нашей темой.

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 окт 2012, 16:34 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Вчерашняя тема получила великолепное продолжение. Александр зарелизил новую версию своего эмулятора "Радио-86РК". Особенно следует отметить такой момент:

Цитата:
Я попробовал править существующую реализацию, но в процессе переписал код эмулятора 8080 практически заново, благо голова была свежа после работы над i8080-core. За пару дней я реализовал все команды и прикрутил тесты. По ним я выловил все глюки, и теперь i8080-js проходит все тесты, включая 8080-8085 CPU Exerciser, тем самым являясь реально точной репликой КР580ВМ80А.

Источник: "Снова эмулятор Радио-86РК на JavaScript"

Цитата:
Ядро i8080-js теперь проходит все те же тесты, что и i8080-core. Тестирование можно делать либо прямо в браузере, либо в командной строке, если есть под рукой интерпретаторы JavaScript'а V8 или SpiderMonkey. Эмулятор Intel 8080 сделан независимым от конкретной аппаратуры и может быть легко использован для эмуляции других машин, основанных на Intel 8080 (или КР580ВМ80А).

Источник: "Эмулятор Радио-86РК на JavaScript / Перезагрузка"

Напоследок дам ссылку непосредственно на репозитарий - Intel 8080 (KR580VM80A) microprocessor in JavaScript.

UPD.
Фрагмент прекрасного из "Снова эмулятор Радио-86РК на JavaScript".
Цитата:
Например, есть основные логические операции: OR, AND, XOR. Так как это неарифметические операции, то флаг половинчатого переноса AC (из младшей тетрады в старшую) просто обнуляется. Так написано в документации. Но в реальности команда AND особенная. В ней флаг AC устанавливается (внимание!) равным третьему биту операции OR между аргументами команды, а не просто в ноль. Данное поведение, все таки было задокументировано, но в более поздней документации по 8085.

Или, например, в командах инкремента и сложения, тот же флаг AC вычисляется как положено по документации. Но в командах декремента и вычитания этот флаг имеет инвертированное значение!

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 окт 2012, 17:56 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщений: 123
Непонятно, как эмулятор одновременно может проходить варианты exercizer и для 8080 и для 8085. Или в этом эмуляторе можно выбрать тип процессора?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 окт 2012, 06:59 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
ivagor писал(а):
Непонятно, как эмулятор одновременно может проходить варианты exercizer и для 8080 и для 8085. Или в этом эмуляторе можно выбрать тип процессора?

Подозреваю, что все проще. Суть теста состоит в том, что на нем гоняют "до посинения" несколько софтин, чтобы после сверить полученные контрольные суммы с эталоном. Так что задача распознание типа процессора лежит не на эмуляторе, а на софте, который на нем запускается.

p.s.
Бегло посмотрел код эмуля в репе, - да, это не совсем pure js, скорее взгляд программиста-сишника на джаваскрипт.

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 окт 2012, 12:18 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщений: 123
liberation писал(а):
гоняют "до посинения" несколько софтин, чтобы после сверить полученные контрольные суммы с эталоном.

Так контрольные суммы для 8080 и 8085 в exercizerах разные.

P.S. Посмотрел, судя по ANA автор эмулятора реализовал 8080. К чему упоминания 8085 я не понял.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 08 окт 2012, 00:00 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
ivagor писал(а):
P.S. Посмотрел, судя по ANA автор эмулятора реализовал 8080. К чему упоминания 8085 я не понял.

Я ситуацию понимаю так. Автор написал эмуль процессора i8080, который протестировал в парижской палате мер и весов при помощи нескольких тестов, рассчитанных для i8080/8085. Вот что мы видим на гите:

Цитата:
Intel 8080/JS test
*********************************
File "TEST.COM" loaded, size 1793
OUTPUT: MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC VERSION 1.0 (C) 1980
OUTPUT:
OUTPUT: CPU IS OPERATIONAL
Jump to 0000 from 14f
*********************************
File "CPUTEST.COM" loaded, size 19200
OUTPUT:
OUTPUT: DIAGNOSTICS II V1.2 - CPU TEST
OUTPUT: COPYRIGHT (C) 1981 - SUPERSOFT ASSOCIATES
OUTPUT: ABCDEFGHIJKLMNOPQRSTUVWXYZ
OUTPUT: CPU IS 8080/8085
OUTPUT: BEGIN TIMING TEST
OUTPUT: END TIMING TEST
OUTPUT: CPU TESTS OK
OUTPUT:
Jump to 0000 from 3b25
*********************************
File "8080PRE.COM" loaded, size 1024
OUTPUT: 8080 Preliminary tests complete
Jump to 0000 from 32f


Кстати, там есть и раздельные тесты для этих процессов. И Tim0xA там упоминается. :D

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 08 окт 2012, 13:26 
Не в сети

Зарегистрирован: 23 авг 2012, 12:28
Сообщений: 123
На зх.пк автор ответил, что запускается только exercizer для 8080. Теперь все понятно, кроме причины написания фрагмента "теперь i8080-js проходит все тесты, включая 8080-8085 CPU Exerciser".


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 янв 2015, 17:03 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Краткое послесловие. Этот эмулятор оказался годным, работает отлично, хотя js версия содержит несколько огрех, все они, если не ошибаюсь, связаны с областью видимости переменных, поэтому на качестве эмуляции не сказываются.

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Free counters!
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB