Tim0xA, выложил бы ты этот тест :) сегодня к вечеру новая версия будет готова ;)
Вид для печати
Tim0xA, выложил бы ты этот тест :) сегодня к вечеру новая версия будет готова ;)
так что, типа в эмуляции вектора можно ставить точку, или же какоето развитие эмулей ещё ожидается ? :)
ну Ramiros, например может чтото добавить ещё, помнится ктото просил добавить эмуляцию жёсткого диска в эмуль.
а я надеюсь на добавление реплеев и может даже игры по сети.
...ну по крайней мере помечтать то можно :)
Tim0xA, Готова новая версия VV 5.73. Обновил конвертор Rom2Wav
Добавлено через 1 минуту
исправлены ANA/ANI, DAA. DAA сам проверил в тесте ivagora, вроде полностью совпала с реалом.
Добавлено через 2 часа 17 минут
Не если тест ругается на код данной команды, значит ошибка именно в ней, но в регистре флагов тест иногда хочет видеть нереальные значения :) . А у тебя команды сдвига влияют только на CY ? остальные флаги должны оставаться без изменения.
Эмулятор и Rom2wav на сайте.
Ramiros, по Rom2wav ты указание адреса загрузки не делал? Если еще нет, то было бы удобно сделать, как в эмуляторе: по маске файла *.rXX, где XX - номер блока загрузки в HEX.
Добавлено через 38 минут
VV 5.73 выдержал тест "8080 instruction exerciser" :)
Tim0xA, если расширение файла не ROM, R0M или COM то конвертор сам предложит ввести адрес загрузки.
Добавлено через 10 часов 50 минут
Tim0xA, У тебя на сайте в новостях типа первоапрельская шутка про версию? :)
Готова новая версия Rom2Wav v.1.8
Добавлена такая поддержка.
Вот краткая инструкция:
Если открываемые файлы имеют расширение rom или com то Wavы делаются с первого блока, если r0m то с 0-го блока, если rXX то с ХХ-ного блока, ну а если расширение неапознано т.е. любое другое, то конвертер предлогает ввести адрес для загрузки от 0 до FFFF.
Если файлы rom,com,r0m имеют длинну более 48 кБ, то конвертер предложит их обрезать до 48 кБ, но можно и отказаться от этого.
Исправил ссылку на эмулятор. Выложил конвертер на сайт.
Кстати, ни у кого случайно не завалялась таблица времён исполнения Вектором команд КР580? Я когда-то составлял для себя опытным путём, но таблица утеряна.
Я ориентировался на эту таблицу http://www.itwas.ru/radio/rk/commands.html с поправкой на число тактов, кратное 4м. Есть еще таблица тут http://www.sensi.org/~svo/scalar/ware/573/
Спасибо! По 1-й таблице нельзя ориентироваться, т.к., например, там PUSH - 11, POP 10, казалось бы, оба укладываются в 12, но на практике PUSH - 16. Т.е. там какой-то цикл был более 4-х тактов. А во 2-м файле - вроде бы, всё так.
Pillars можно только загрузить из WAV-a? Если переименовать его в .com и запустить с диска в b2m, он не запускается. Запускается только если сделать File->Open->pillars.rom. В чем тонкость?
Вона как. А ты рисуешь картинку, когда загружаешь rom?
Пардон, это какая-то другая игра так делает. А с этой игрухой были лишь проблемы эмуляции проца. Собственно с этого и началась эта тема. Но кто-же начало-то читает, когда 8 страниц уже :)
А в VV запускается из МикроДоса? Если тоже нет, то может Ramiros что-нибудь подскажет, он на этом собаку съел, пока выяснял, почему pillars не работает.
Я вот почитал. Спасибо Tim0xE, что вытащил в отдельную тему. А то сначала же вообще было невозможно :)
Если проблема Pillars только в проце, то непонятно, отчего она не запусается из МикроДОС-а?
Я в очередной раз прочесал T80 (как же я ненавижу этого динозавра), в этот раз вооруженный тестами. Теперь у меня cputest.com говорит CPU TESTS OK, а 8080-еьец, задумавшись на какие-то часа 3-4, показывает всю ровно ту же цифирь, что и реал. Pillars я гружу из вав-файла.. Но они у меня не запускаются.
К Ramiros-у просьба по поводу rom2wav: сделай в конце вава паддинг на секунду где-то, а то некоторые плееры, которых у меня почему-то большинство, любят от вавов проглотить последние доли секунды.
ivagor, твой pill.com запустился! Что ты сделал, поделись секретом?
"секрет" - очистка памяти перед запуском. При запуске с того образа диска, который я использовал (t34+co), память при старте игрушки замусорена (у тебя наверно тоже), а ее содержимое, насколько я понимаю, используется при расшифровке игрушки.
Любопытно. Если память не изменяет, у меня загрузчик подпатчен, чтобы не чистилась память: мне это было актуально для отладки. Вот может быть почему. Может быть выложить .com в картотеку тоже?
Чтобы не очищалась память, в загрузчике можно удерживать УС при нажатии ВВОД+БЛК. Этого будет достаточно для отладки, от патча можно отказаться.
Выложи новую корку T80, я начал было сам править, кое-какие ошибки успел найти, по тесту CPUTEST продвинулся, но так как ты уже решил эту проблему, я потерял к ней интерес. Теперь хочу сравнить и посмотреть, что ты сделал.
Tim0xA, svn update ;)
Код:Log message
T80/8080 Mode (Mode 2) CPU Fixes:
1. ALU-based subtractions have AC flag inverted, SUB/SBB/DCR...
2. RRC/RLC/RAL/RAR only modify C flag
3. STC/CMC/CMA do not change AC flag
4. ALU AND operation sets AC flag to (BusA(3)|BusB(3))
5. DAD instruction does not modify AC flag
6. RESET does not change Flags, SP and Accumulator, only PC is set to zero
The fixes above make this core pass all known 8080 CPU tests.
Results of 8080 Executioner match those of real CPU, tested on Vector-06c with
KR580VM80A.
Audio clocks are generated by another PLL for the time being: tape loading
didn't work otherwise.
Affected files
expand all collapse all
Modify /trunk/src/T80/T80.vhd diff
Modify /trunk/src/T80/T80_ALU.vhd diff
Modify /trunk/src/altmodules/mclk14mhz.v diff
Modify /trunk/src/clockster.v diff
Там столько ошибок было? Офигеть! svofski - уважаю.
Строго говоря, это не ошибки, а неучтенные различия между Z80 и 8080. Оно и понятно, автор T80 прежде всего писал Z80.
Похоже мой справочник по z80 надо фтопку.
ХРРР! Пересобрал целиком с boots.bin из картотеки, орининальный Пилярс загрузился с магнитофона! Можно проапдейтить zagr512.hex (имя файла историческое =)
Отлегло :)
А чего в этой игре делать-то надо? Чего-то я что стою, что еду, что стреляю, что не стреляю, столбы стоят ровно и ничего на самом деле не происходит. Какой-то вертолетик скачет на горизонте и какой-то счетчик чего-то считает. Это все, или я упускаю что-то важное?
---------- Post added at 22:12 ---------- Previous post was at 22:11 ----------
В смысле на столбы-то я еду.. Просто непонятно, какова их роль.
Столбы надо объезжать, а в вертолётик стрелять :)
Интересная цитата из книги "Программирование на языке ассемблера для микропроцессоров 8080 и 8085" Л.Левенталь, У.Сэйвилл, 1987
Наверное, это самое детальное описание проблемы DAA (или, вернее сказать, проблемы АЛУ, которае проявляется в DAA):
http://pic.ipicture.ru/uploads/09091...ObK3X67420.jpg
http://pic.ipicture.ru/uploads/09091...NmG3TS4ERv.jpg
INR вроде как не вызывал никаких проблем, а DAD не должен влиять на флаг AC.
Ну просто на всякий случай, чтобы кто-нибудь не подумал, что можно сделать десятичную коррекцию после DAD. DAD должен быть SP и цыц.
Вообще-то на INR были жалобы
http://www.nedopc.org/forum/viewtopi...t=daa&start=15
В эмуляторах и DE1 связка INR + DAA работает, как задумывалось. Эх, жаль нет вектора рабочего, нельзя проверить, как оно в железе.