В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Эмулятор CHIP-810.08.2010, 06:34. Показов 14423. Ответов 90
Метки нет (Все метки)
Мы с fasked написали простенький эмулятор для платформы CHIP-8.
CHIP-8 Остались вопросы по графике и клавиатуре. Если кто знает как реализовать - помогите, пожалуйста. Так же приглашаем для участия в доработке этого проекта, а так же следующих проектах всех, кто желает учиться и трудиться. Кому интересна работа эмулятора все вопросы к fasked) Полный проект в прикрепленном архиве в сообщении ниже CHIP8
types.h
chip-8.h
chip8.cpp
main.cpp
0
|
10.08.2010, 06:34 | |
Ответы с готовыми решениями:
90
Эмулятор. На С, С++ Эмулятор телефона. С++ Эмулятор мышки Эмулятор SetTimer |
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
||||||
25.08.2010, 19:46 | 81 | |||||
А у меня UFO.С8 играется
Только вот в коде нужно кое-где поправить. Обработчик EXA1 опкода не нашел. Нашел для EX1A (такого не должно быть) на 304 строке cpu.cpp. Еще такой вопрос: в эмуляторе после нажатия клавиши она остается нажатой до нажатия другой клавиши или нет? Добавлено через 8 минут Предложение: может быть папку src перенесем в trunc? Все равно все изменения идут по ривизиям. А отдельные стабильные версии будем выкладывать в tags т.к. эта папка как раз для этого предназначена. И еще вопрос: Это зачем, если никогда она не появится:
Alex Sabaka, попробуй скомпилировать диссассемблированый файл с помощью CHIPPER. Добавлено через 36 минут Добавил звук в эмулятор. Для этого исправил функцию Run() (cpu.cpp) и почти весь файл processor.cpp. См. вложение. И еще вопрос: чем отличаются cpu.cpp от processor.cpp? Дело в том, что лексическое значение названий файлов одно и тоже.
1
|
27.08.2010, 11:21 | 82 |
Поправил
Поподробнее, пожалуйста. Я не совсем понял структуру. Что, куда и сколько Ну, например, если файл программы неправильный. Да, название не очень удачное. Правильнее было бы, наверное, написать что-то вроде chip8api вместо cpu. То есть в cpu находятся функции для доступа и управления глобальными переменными. А processor собственно сам поток.
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
27.08.2010, 11:48 | 83 |
Вот когда у эмулятора появится свое уникальное название, сам эмулятор будет стабилен т.е. уже можно с обычными пользователями делится, создадим папку tags\1.0 туда положим исходники этой версии. Пройдет месяц, выявятся какие-нибудь недочеты, добавили новые функции, ускорится работа и т.д., это будет уже в версии 1.1. Создадим новую папку tags\1.1 туда положим исходники. Это удобнее в отличии от просто деления с помощью ревизий.
Я это понял. Только вот я не понял, как узнать какие неизвестные опкоды попались (тогда быстрее узнали бы про EXA1)? Я не думаю, что это будет логично. api - на мой взгляд это взаимодейтсвие между приложениями, а не блоками одного приложения. А вообще класс Proceesor использует функции из CPU. Лучше просто поменять имя у этого класса (например в CPU) и засунуть его в cpu.cpp.
0
|
27.08.2010, 12:03 | 84 |
Надо сначала добраться до стабильной версии
Перенаправить поток cerr в файл например. Я просто опять же этим не занимался - виноват. Не соглашусь. На мой взгляд, все, что лежит в файлах подключенных в chip8.h - это некоторая абстракция эмулятора. А тот класс из файла processor - это уже программная адаптация этой абстракции. То есть API - это набор функций с жесктим контрактом, который позволяет обеспечить взаимодействие независимо от того, как реализована сама абстракция. Грубо говоря, это прослойка, медиатор. Асбтракцией может быть, как аппаратный, так и программный модуль - но взаимодействие с верхней частью будет обеспечиватьяс с помощью одного API. Пример, конечно, грубый. С помощью этого же API кстати должен работать и отладчик. И клавиатура. Как и processor (скорее уж у этого класса имя неудачное И все будущие прибамбасы.
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
27.08.2010, 12:06 | 85 |
Ладно. Убедили.
0
|
01.09.2011, 16:50 | 86 |
а можно скинуть исходники который на данный момент уже есть? очень заинтересовало..
Добавлено через 12 минут и такой вопросик еще: а на DevC++ он компилится? а то ошибку выбивает у меня по исходникам которые в шапке
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
01.09.2011, 16:56 | 87 |
Исходники здесь: http://svn2.xp-dev.com/svn/chip8/
Пока недоступен. Ждите fasked или ForEveR. Может быть у них остались. Для компиляции установите Qt и научитесь как компилировать с Qt.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
01.09.2011, 21:01 | 89 |
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
02.09.2011, 10:00 | 91 |
Я обратился к службе поддержки. Они сказали что все ссылки теперь начинаются по другому.
http://xp-dev.com/svn/chip8/
2
|
02.09.2011, 10:00 | |
02.09.2011, 10:00 | |
Помогаю со студенческими работами здесь
91
Эмулятор клавиатуры Эмулятор трёхадресной машины. Эмулятор Вебки под Seven Реализовать эмулятор командной строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |