Часовой форум Watch.ru (http://forum.watch.ru/index.php)
-   Электроника (http://forum.watch.ru/forumdisplay.php?f=28)
-   -   Уголок яйцеловов. Обсуждаем, чиним, хвастаемся находками (http://forum.watch.ru/showthread.php?t=154411)

siealex 14.03.2023 23:04

Цитата:

Я не хотел реализовывать воспроизведение звука, так как это не имеет смысла при отладке.
Напрасно, лучше сделать это опцией.
Цитата:

Содержимое памяти в unattended mode можно контролировать, нажав и удерживая клавишу F5.
Очень неудобно, особенно если одновременно нажимаешь другие клавиши или щёлкаешь сырой ввод.

Кстати, а есть ли где-нибудь описание каждого байта в оперативной памяти, что где хранится? Очевидные данные (типа текущего времени, очков, рекордов) найти легко, а вот например положение каждого яйца - шиш.

MilanSK 16.03.2023 22:18

Вложений: 1
Цитата:

Сообщение от siealex (Сообщение 6680011)
Напрасно, лучше сделать это опцией.

Могу подумать об этом, но в данный момент это нет мой приоритет.

Цитата:

Очень неудобно, особенно если одновременно нажимаешь другие клавиши или щёлкаешь сырой ввод.
Принимаю. Сделаю это выбираемым, как в animated режиме.

Цитата:

Кстати, а есть ли где-нибудь описание каждого байта в оперативной памяти, что где хранится? Очевидные данные (типа текущего времени, очков, рекордов) найти легко, а вот например положение каждого яйца - шиш.
Я не знаю о таком описании. Это надо выяснять только экспериментально.
Яйца обозначаются различными битами в оперативной памяти, см. рисунок. Причина в том, чтобы удобно записывать значения в регистры LCD.

siealex 17.03.2023 19:43

Цитата:

Яйца обозначаются различными битами в оперативной памяти, см. рисунок. Причина в том, чтобы удобно записывать значения в регистры LCD.
Не подряд на одной дорожке? Это же не очень удобно для просчёта следующего шага, приходится держать большую таблицу в памяти или в прошивке.

MilanSK 17.03.2023 22:39

Вложений: 2
Цитата:

Сообщение от siealex (Сообщение 6682390)
Не подряд на одной дорожке? Это же не очень удобно для просчёта следующего шага, приходится держать большую таблицу в памяти или в прошивке.

Поскольку программисты должны были следовать тому, как был определен ЖК-дисплей, они адаптировали биты в переменных памяти для макета ЖК-дисплея.
Это очевидно из следующей картинки.

И затем в коде они не использовали никаких таблиц; они просто все это жестко закодировали, как вы можете видеть на другом прикрепленном изображении.

siealex 21.03.2023 20:15

MilanSK
Существует ли подробная документация по этому чипу? Или исходники его эмулятора (хотя это менее удобно).

MilanSK 21.03.2023 22:05

Зависит от того, какая документация вам нужна. Hardware (напряжения, сигналы, формы волны и т.д.) или software (описание инструкции)?

Техническая спецификация SHARP SM-5A (КБ1013ВК1-2 - клон этой японской микросхемы)
Однокристальные ЭВМ серии КБ1013 (ошибки-исправлена транскрипция статьи из журнала ниже)
Микропроцессорные средства и системы №5, 1987 (страницы 5-18)
Эмулятор МАМЕ (содержит также исходный код эмуляции микросхемы КБ1013ВК1-2)

siealex 22.03.2023 00:00

Цитата:

Сообщение от MilanSK (Сообщение 6685502)
Зависит от того, какая документация вам нужна. Hardware (напряжения, сигналы, формы волны и т.д.) или software (описание инструкции)?
Эмулятор МАМЕ (содержит также исходный код эмуляции микросхемы КБ1013ВК1-2)

В основном софт, хотелось бы понять, получится ли сэмулировать этот чип (именно сэмулировать точно) на современных микроконтроллерах.

С горем пополам нашёл исходники - там (пока что) трудно что-либо понять из-за огромного количества ссылок из одного файла в другой...

siealex 22.03.2023 01:14

Ещё вопрос. Почему содержимое ROM, которое отображается в отладчике, не совпадает с содержимым файла ROM в папке? Загружаю Mickey Mouse, вижу в окне на 0 странице 70 58 8А E2 AE F2 B7 A2, в файле же 70 00 00 AB C4 00 7D A2. Файлы каким-то образом сжаты или зашифрованы?
PS, в эмуляторе Ну-Погоди ROM лежит открытым текстом и в точности совпадает с содержимым окна отладчика.

MilanSK 22.03.2023 11:54

Вложений: 1
Цитата:

В основном софт, хотелось бы понять, получится ли сэмулировать этот чип (именно сэмулировать точно) на современных микроконтроллерах.
Наверняка можно будет эмулировать этот чип на современных микроконтроллерах. Он был очень медленным, и его основная исполнительная функциональность была очень простой.

Многое будет зависеть от того, какой тип графического вывода вы выберете. Будет ли это снова монохромный одноцелевой ЖК-дисплей? Или что-то совсем другое?
Гораздо интереснее, чем эмулировать инструкции чипа, будет программировать представление графического вывода.

Цитата:

Почему содержимое ROM, которое отображается в отладчике, не совпадает с содержимым файла ROM в папке? Файлы каким-то образом сжаты или зашифрованы?
Ну, мы можем назвать это типом шифрования. Адрес следующей инструкции не вычисляется как Предыдущий+1. Вместо этого используется так называемый LFSR. Для вычисления следующего адреса используется простая функция.
Для этого:
000 + 1 = 020
020 + 1 = 030
030 + 1 = 038
038 + 1 = 03C
и т. д.
Смотрите картинку.

siealex 22.03.2023 20:28

Цитата:

Многое будет зависеть от того, какой тип графического вывода вы выберете. Будет ли это снова монохромный одноцелевой ЖК-дисплей? Или что-то совсем другое?
Как раз именно оригинальный дисплей - была мысль сделать прямую замену родного чипа.


Часовой пояс UTC +3, время: 04:11.

© 1998–2024 Watch.ru