Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   ZX Spectrum: аппаратная реализация на восьми микросхемах (http://zx-pk.ru/showthread.php?t=13747)

Lisitsin 16th April 2011 21:38

Седьмой тест не проходит, а на восьмом по ходу дела вообще зависает - уж слишком равномерные чёрточки я вижу на экране ...

Higgins 17th April 2011 20:01

Quote:

Originally Posted by Lisitsin (Post 376659)
Седьмой тест не проходит

Давайте посмотрим на контрольные суммы на этом тесте. Получить их можно точно так же, как для шестого. Для начала давайте возьмем несколько тысяч первых сумм.

Lisitsin 17th April 2011 20:33

Для седього теста получается: (вложение).
Там где в контрольных суммах вопросительные знаки - скорее всего повторяющийся символ, например, 7? c большой вероятностью 77.

Higgins 21st April 2011 21:17

Quote:

Originally Posted by Lisitsin (Post 376892)
TRACE_TST7.zip

Отличие в пятой строке. Достаточно будет сделать немножко трейсинга с самого начала седьмого теста со всеми регистрами.

Lisitsin 21st April 2011 22:00

Спасибо, делаю.
Я тут сделал одну удобную вещ:
при нажатии на F11 девайс копирует все внутренние регистры и рабочие 48 K внешней RAM во flash память видеопроцессора, а по клавише F12 происходит ровно обратное. Сейчас гоняю - работает. Реальная поддержка в случае с zexfix.
Иллюстрирую работу:
http://www.youtube.com/watch?v=-ueHjO0F1nU
(в памяти уже было начало z80tests, но прошедшее без команды DAA)

Lisitsin 22nd April 2011 21:25

Готово: (вложение)
Но функция эта что-то пока не совсем корректно работает. Экспериментировал на ROBOCOPе:
http://www.youtube.com/watch?v=R5Alk-XgDg8
какой-то сбой происходит. Вроде бы сохраняю всё состояние, включая даже MEMPTR и состояние прерывания. Может быть надо учитывать время прихода прерывания?
zexfix не восстанавливается. Потом уходит в сбой. А z80tests восстанавливается нормально ...

Higgins 24th April 2011 15:54

Quote:

Originally Posted by Lisitsin (Post 378518)
TRACE_TST7_2.zip

Нужно больше строк.

Lisitsin 25th April 2011 18:07

Quote:

Originally Posted by Higgins (Post 378903)
Нужно больше строк.

Можно и больше:

Higgins 25th April 2011 22:36

Quote:

Originally Posted by Lisitsin (Post 379185)
TRACE_TST7_3.zip

Инструкция

Code:

#9C09 ADD A, IXH
До исполнения:

Quote:

9c09 c035 22dd 2847 38c5 accf c76e 234b
Получаем:

Quote:

9c0b c035 22dd 2847 e4b0 accf c76e 234b
Должно быть:

Quote:

9c0b c035 22dd 2847 e5b0 accf c76e 234b
У меня получается #38 + #AC = #E4. Откуда #E5? :)

Lisitsin 25th April 2011 23:10

:v2_conf2:Ничего не понял

Lisitsin 29th April 2011 18:47

Докладаю обстакановку: схема ужалась на один чип (вложение).
А в принципе можно выбросить стабилизатор питания (митаться всё равно надо от адаптера). И Attiny2313 можно выбросить и подключить обычную клавиатуре. И вот тогда реально будет 5 чипов.

zorel 29th April 2011 18:59

Lisitsin, Сколько реально по цене такой спек получяется, если плату лутом сделать? Озу у него всего 48 кб исользуется?

Lisitsin 29th April 2011 19:05

Игрушка в цвете:
http://www.youtube.com/watch?v=eA3i6YxVjS8

---------- Post added at 18:05 ---------- Previous post was at 18:01 ----------

Quote:

Originally Posted by zorel (Post 380399)
Lisitsin, Сколько реально по цене такой спек получяется, если плату лутом сделать? Озу у него всего 48 кб исользуется?

Себестоимость без платы около 1200 руб. Самые дорогие - атмеги - рублей по 300-350. ОЗУ у него вообще 128 к (пригодится для пентагона в будущем) но используется реально только 48.

Black_Cat 29th April 2011 20:14

О! Давно не заглядывал, а оно оказывается уже работает :) . Т.е. наконец можно поздравить товарища Lisitsin'а с победой принципа над здравым смыслом! :) . Теперь уже с высокой долей вероятности можно сказать что и такой программно-аппаратный эмулятор не только теоретически возможен, но и реально реализуем! Ура товарисчи! :)
Какие выводы уже можно сделать:
1) Таой компьютер явно не проще и не дешевле в производстве, чем компьютер на ПЛИС, хотя по стоимости и сопоставим.
2) Сложность разработки такого компьютера на порядки выше чем компьютера на ПЛИС.

Т.е. изначальный тезис о том, что проще собрать Спектрум из того что есть под рукой, вместо того чтоб как все купить более приспособленный для таких целей набор микросхем - оказался ложным, что собсно и предполагалось изначально :) .
Но сам по себе факт существования такого Спектрума - уже достижение достойное книги рекордов Гиннеса :)

Lisitsin 29th April 2011 20:31

Выражаю свою неограниченную благодарность БК-0010 за то, что он познакомил меня с Higgins, который и оказал мне неоценимую помощь в исправлении ошибок эмуляции Z80.
По поводу плисовых спектрумов: ну надо же им всё таки конкуренцию составить, хоть какую-то ... :)

Клон 29th April 2011 20:38

Quote:

Originally Posted by БК-0010 (Post 380407)
Какие выводы уже можно сделать:

Сей продукт ничем не отличается от эмулятора на ПЦ, там по сути тоже микропроцессорная система, на которой программно эмулируется работа другой микропроцессорной системы... Как было известно и ранее теоретически - от перестановки мест слагаемых сумма не изменяется. :v2_dizzy_roll:

:)111111111:)111111111111111111:)11111111111:)
1111111:)111111111:)11111111:)111111111:)11111111
1:)111111:)11111111:)1111111111111:)1111111:)111

Hm 29th April 2011 21:54

Quote:

Сей продукт ничем не отличается от эмулятора на ПЦ ...
Ну это мнение с точки зрения "геймера". Идея и реализация (!), пусть и любительская, перевесит любые проекты, где используются готовые IP-core и аппаратные платформы. Это я с точки зрения зрения инженера и работа-нанимателя.

osa 29th April 2011 22:12

Hm, Head hunter? Т.Е. лисицин может расчитывать на зп с 6ю нулями?:)

solegstar 29th April 2011 22:40

Quote:

Originally Posted by БК-0010 (Post 380407)
Но сам по себе факт существования такого Спектрума - уже достижение достойное книги рекордов Гиннеса :)

А со спеком всегда так, незаметили что-ли??? :)

PS: уже последние ннннадцать лет!

Black_Cat 29th April 2011 22:46

Клон, :) не суйся со свинным рылом, да в калашный ряд :) - не по тебе это вопрос :) . Есть эмуляторы программные (их называют просто "эмулятор"), есть эмуляторы аппаратные (это собсно все отечественные клоны), а это эмулятор программно - аппаратный - зверь до сих пор невиданный :)

Hm 29th April 2011 22:49

osa
А то :)
Для чего-же делается большая часть открытых проектов ... Как минимум "для души" и "резюме". Что главнее для "автора" не важно, а то, что "ничего не пропадает" это однозначно (убеждался не раз).

Клон 29th April 2011 23:03

Quote:

Originally Posted by БК-0010 (Post 380454)
а это эмулятор программно - аппаратный - зверь до сих пор невиданный

обычный эмулятор :) никакой он не аппаратный :) все отличие, что он написан не для ПЦшной системы, а для системы на базе промышленного процессора Атмел :) и еще, что эта система самостоятельно спроектирована (не куплена в магазине) :). Во всем остальном :) это обычный эмулятор.
Плюсы :) в этом сомнительны, зачем создавать систему :) и записывать в нее эмулятор, :) когда уже есть готовый компьютер, только пиши эмулятор на свой вкус и радуйся :)?

Я с твоим концептом не согласен :)
эмулятор может быть либо программный :) либо аппаратный :)

Программно-аппаратным эмуль был бы, если :) он был бы частично аппаратно реализован, частично программно:)

Что в нем аппаратного, кроме самой микропроцессорной системы, которая не в счет :)?

Higgins 29th April 2011 23:36

Quote:

Originally Posted by Lisitsin (Post 379265)
Ничего не понял

Я неправильно поймал инструкцию. Речь идет о строке 22536 трейсинга. Она соответствует инструкии #DD #8C, т.е. ADC A,IXH. Значит, после исполнения в регистре должно быть #E5. Судя по трейсингу, у вас там получается #E4.

Lisitsin 30th April 2011 02:58

Quote:

Originally Posted by Higgins (Post 380471)
#DD #8C, т.е. ADC A,IXH

Реальная у меня тут ошибка. И в IXH и в IXL не учитывался флаг С. Исправил, гоню zexfix. Премного благодарен !!!

CodeMaster 30th April 2011 08:40

Quote:

Originally Posted by Клон (Post 380463)
Что в нем аппаратного, кроме самой микропроцессорной системы, которая не в счет

Типо ты прав, но это и не софт-эмулятор, это скорее виртуальная машина.

Клон 30th April 2011 15:51

Quote:

Originally Posted by CodeMaster (Post 380554)
но это и не софт-эмулятор

ну тогда следующий шаг - написать сначала ОС для этой системы, а уж потом под нее эмулятор.
Такого Спекка пока еще тоже нет!

fifan 30th April 2011 17:07

Пришли плохие дяди и устроили здесь дискуссию... Lisitsin, не обращай внимания, продолжай!

Клон 30th April 2011 17:58

Quote:

Originally Posted by fifan (Post 380651)
Пришли плохие дяди и устроили здесь дискуссию...

против автора проекта никто ничего не имеет, не нужно тут нагнетать.

Ewgeny7 30th April 2011 18:50

Клонище, кончай Диззиков стадами гонять, обидятся.
И флудить заканчивайте.

Клон 30th April 2011 19:12

Quote:

Originally Posted by Ewgeny7 (Post 380672)
кончай Диззиков стадами гонять

меня Чёрный заразил.

Lisitsin 1st May 2011 12:12

Всем доброго времени.
Информация для Higgins: ошибку исправил, но седьмой тест всё равно валится. Трейсинг прилагаю.

Higgins 1st May 2011 19:22

Quote:

Originally Posted by Lisitsin (Post 380833)
TRACR_TST7_5.zip

В строке 48579 после исполнения SBC IXH получаем:
Quote:

9c0b c035 22dd 2847 0f1a accf c76e 234b
Должно быть:
Quote:

9c0b c035 22dd 2847 8b9f accf c76e 234b

Lisitsin 1st May 2011 21:27

:) :) :)

Операнд вместо IXH просто H

Lisitsin 2nd May 2011 10:03

Седьмой тест прошёл. А восьмой похоже вообще зависает. Не заканчивается чего-то совсем. Может просто мало жду (часов 6 наверное)?
А происходит в нём следующее: (вложение)

Higgins 2nd May 2011 17:25

Quote:

Originally Posted by Lisitsin (Post 381116)
Может просто мало жду (часов 6 наверное)?

Замерил время работы тестов. Ниже следует табличка для тестов Zexfix. Указано количество часов и минут от начала работы до старта теста с соответствующим номером.

Quote:

#1 0:00
#2 0:12
#3 0:17
#4 0:23
#5 0:29
#6 0:32
#7 2:14
#8 3:07
#9 3:33
#10 3:33
#11 3:40
#12 3:41
#13 3:42
#14 3:48
Тресинг посмотрю.

* * *

UPDATE:
Quote:

Originally Posted by Lisitsin (Post 381116)
TRACR_TST8_1.zip

Здесь совпадаем. Можно сравнить первые контрольные суммы.

Lisitsin 3rd May 2011 11:24

Выдаёт четыре контрольные суммы и встаёт:
9C41 3B F0 D7 0E; 9C41 71 79 72 6A; 9C41 2E 69 19 C9; 9C41 22 77 9C E2;
Весь трейсинг во вложении.

Higgins 3rd May 2011 14:17

Quote:

Originally Posted by Lisitsin (Post 381378)
TRACR_TST8_2.zip

После исполнения ADC A, (IX+d) получаем:

Quote:

9c0c c1dc 406e 32fd 2565 8002 8002 e5fa
Должно быть:

Quote:

9c0c c1dc 406e 32fd 2531 8002 8002 e5fa
* * *

UPDATE: Если сравнивать только значения регистра PC, то трейсинг совпадает с тем, что должно быть. То есть, до потери управления трейсинг не дошел.

Lisitsin 3rd May 2011 17:33

Прогнал ещё раз:

Lisitsin 3rd May 2011 17:43

Ошибку нашёл ! Спасибо !!!
В эмуляции ADC A, (IX+d) флаги попадали не во флаговый регистр, а во временный.
Исправил, но игрушки без особых изменений. Гоню Zexall. кстати, а можно её как-нибудь через PRINT USR xxxx запускать сразу с требуемого теста?

Lisitsin 5th May 2011 22:12

4 Attachment(s)
Нашёл ещё одну ошибку. Прогнал до конца, не проходит всего два теста: BIT n (b, c, d, e, h, l, (hl), a), INC/DEC ((IX/IY)+1). Трейсинг во вложении - для десятого теста.


All times are GMT +4. The time now is 16:59.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.