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 28th February 2011 21:34

1 Attachment(s)
Последние исправления:

Higgins 28th February 2011 22:32

Quote:

Originally Posted by Lisitsin (Post 362716)
Последние исправления:

"RRA" по #0BA0. Должна копировать биты 3 и 5 результата сдвига в F.

Lisitsin 28th February 2011 23:32

1 Attachment(s)
Исправил:

Error404 28th February 2011 23:46

Может, спрошу то что уже здесь обсуждалось (весь тред прочитать не осилю), но в глаза не бросилось чтобы применяли zexall для проверки. А между тем, эта утилита как раз для проверки корректности выполнения всех команд с учетом всех флагов. Ну типа чтобы не гадать что где недоэмулировано. И большинство эмуляторшиков ориентируются по ней чтобы вывести "базис" эмулируемых команд.

Lisitsin 28th February 2011 23:50

Quote:

Originally Posted by Error404 (Post 362771)
Может, спрошу то что уже здесь обсуждалось (весь тред прочитать не осилю), но в глаза не бросилось чтобы применяли zexall для проверки. А между тем, эта утилита как раз для проверки корректности выполнения всех команд с учетом всех флагов. Ну типа чтобы не гадать что где недоэмулировано. И большинство эмуляторшиков ориентируются по ней чтобы вывести "базис" эмулируемых команд.

Мне её посоветовали на World of Spectrum. Я даже скачал, но она почему-то у меня не грузится.

goodboy 1st March 2011 00:33

zexall очень медленно работает - я в эмуле выставил частоту 50 MHz и то приходиться долго ждать результатов.

Higgins 1st March 2011 14:22

Quote:

Originally Posted by Lisitsin (Post 362763)
Исправил:

"RRCA" по #0BDC тоже должна копировать биты 3 и 5 результата сдвига в F.

Кроме того, "BIT 1, (IY + 1)" по #0B03 ошибочно взводит SF и не взводит флаг 3 при IY=#5C3A. #5C = %1011100 -- 3-й разряд взведен.

Lisitsin 1st March 2011 18:42

Работаю ...

Lisitsin 1st March 2011 20:52

2 Attachment(s)
Я там вас ещё не замучил? Да, код у меня .... на какой мы там строчке от начала?

Я правильно понимаю, BIT n, (IX/Y+d):
1. при n=3, 5, 7 должна копировать ,бит 3, 5, 7 из тестируемого байта соответственно в F3, F5, SF. Тогда влияет ли она на флаги (F5, SF), (F3, SF), (F5, SF) при n=3, 5, 7 соответственно?
2. При n=0, 1, 2, 4, 6 копирует в F3, F5 биты 3, 5 из HIGH (IX(Y)+d). FS при этом не меняется. (?)
Трейсинг шлю.

Higgins 1st March 2011 21:42

Quote:

Originally Posted by Lisitsin (Post 362986)
Я там вас ещё не замучил? Да, код у меня .... на какой мы там строчке от начала?

Намана. :) На 225-й строке. Если игнорировать флаги 3 и 5, то на 695-й строке. Уже кое что. :)

Quote:

Originally Posted by Lisitsin (Post 362986)
Я правильно понимаю, BIT n, (IX/Y+d):
1. при n=3, 5, 7 должна копировать ,бит 3, 5, 7 из тестируемого байта соответственно в F3, F5, SF. Тогда влияет ли она на флаги (F5, SF), (F3, SF), (F5, SF) при n=3, 5, 7 соответственно?

Нет, во флаги 3 и 5 эти инструкции копируют биты 3 и 5 старшей половины IX/Y+d. Независимо от значения n. Если и только если тестируемый бит сброшен, эти инструкции взводят ZF и PF. Если и только если тестируется бит 7 и он взведен, взводится флаг SF. MEMPTR присваивается значение IX/Y+d. Тоже независимо от значения n.

---------- Post added at 20:42 ---------- Previous post was at 20:32 ----------

Quote:

Originally Posted by Lisitsin (Post 362986)
Трейсинг шлю.

Сломали RRCA: при A=#01 взводит SF. Эта инструкция не должна менять SF, ZF и PF, что бы там ни получалось после сдвига.


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

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