Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 25

Тема: ЮТ-88: CHIP-8 виртуальная машина

  1. #1
    Master
    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    890
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    49 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ЮТ-88: CHIP-8 виртуальная машина

    Цитата Сообщение от Mick Посмотреть сообщение
    В принципе, никто не мешает делать дисплейные модули разные, лишь бы дрова кто то для них смог написать.
    Не хотел писать пока не запущу полностью, но напишу в виде анонса
    Когда-то, давным давно, в далеких 70-х был компьютер COSMAC VIP на процессоре RCA 1802, прародитель ЮТ-88, практически та же минимальная конфигурация, но был видеовыход:


    Позже появились разные аналогичные компьютеры, например, Dream 6800 с процессором M6800.

    Эти компьютеры, несмотря на разные процессоры могли запускать одни и те же программы - они работали с CHIP8 (некоторые говорят, что это практически первая виртуальная машина!). К чему я это все? Да к тому, что в наш ЮТ достаточно добавить соответствующий видео-модуль и он превратится в CHIP8-совместимую машину! Такой модуль я взял как раз из Dream 6800, написал интерпритатор и получил к "Лабиринту" и "Крестикам-Ноликам" еще сотни программ! Это все сделано на минимальной конфигурации, с журнальным расширением памяти на двух РУ10 (0x3000-0x3FFF), в которых по адресам 0x3100-0x31FF расположена видеопямять с режимом 64 x 32, с 0x3200 - программы CHIP8, сам интерпритатор расположен в адресах 0x0400-0x0754 между Монитором и Калькулятором. Запуск такой - грузим программу с 0х3200, запускаем интерпритатор с 0х0400. Видеомодуль отключаемый, т.е. хоть он подключен, хоть отключен - ЮТ его не замечает!
    Пока этим всем добром не делюсь, где-то провтыкал - на эмуле все работает, в железе в каждую ячейку видео-памяти вручную могу писать (отображается на экране), а вот при запуске программ все рисуется только в средней части... Да еще надо проверить счетчик и звук - все на ВИ53...
    Вот в общем и дисплейный модуль и дрова...
    Последний раз редактировалось Alex_LG; 07.10.2015 в 11:29.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,152
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Отлично! Я тоже разбирался с CHIP-8, даже написал интерпретатор (для ПК). Да, можно сказатьэто одна из первых виртуальных машин.

    ---------- Post added at 14:23 ---------- Previous post was at 14:20 ----------

    А ведь можно обойтись без видеомодуля, эмулируя режим CHIP8 на ют- экране. Это возможно, использую псевдографику, у CHIP8 разрешение 64*32, а у ЮТ 128*50, то есть, вполне поместится.
    Правда, вывод будет медленней.

  4. #3
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошу пардону, немного упустил за последние годы: а ограничение на использование первых 512 байт уже снято? А то вроде для работы CHIP8 они раньше были необходимы, почему на 6502 у меня и был затык с ними. Если уже можно использовать любую область памяти, то хорошо...
    Последний раз редактировалось rw6hrm; 07.10.2015 в 15:13.

  5. #4
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,152
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rw6hrm, необязательно приравнивать адресное пространство CHIP8 к адресному пространству ЮТ, оно может быть в любом месте. Только немного упадёт скорость, но стандартная скорость эмуляции CHIP8 - 2 Кгц (да, кгц), поэтому, думаю, ЮТ с 2 мгц успеет выполнить дополнительную серию команд LXI DAD.

  6. #5
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С ЮТом понятно, в принципе Alex_LG разжевал в своём посте достаточно подробно. Я к своей конструкции уже прицеливаюсь... , а то придётся эмулировать CHIP8 на эмуляторе 8080 на процессоре 6502 xD

  7. #6
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,152
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В Cosmac VIP в первых 512 байт находился интерпретатор CHIP8. Там стоял дико необычный и тормозной проц RCA 1802, с быстродействием около 108 тыс операций. 8080 гораздо быстрее.

  8. #7
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,151
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_LG Посмотреть сообщение
    а вот при запуске программ все рисуется только в средней части
    ... не в этом ли дело, http://www.mjbauer.biz/VDG_Timing_Diagram.jpg ?

  9. #8
    Master
    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    890
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    49 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    а ограничение на использование первых 512 байт уже снято?
    Ограничение одно - программы начинаются с адреса 0х0200, вот и всё! Всё остальное - обрабатывается интерпритатором, в ЧИП8 обращение к регистрам идет по индексам, а к видео - по координатам. Это, конечно, если не использовать вставки в кодах процессора, а их никто и не собирается использовать, т.к. "чистых" ЧИП8 программ - "да просто завались!"

    ---------- Post added at 16:19 ---------- Previous post was at 16:15 ----------

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    ... не в этом ли дело,
    Нет, Вы не правильно поняли. С диаграммами и выводом на экран все ок - если ручками писать в видеопамять, то на экране все рисуется очень замечательно, думал память не успевает на блочных операциях - копировал блоки, тоже все ок. Но вот когда запускаю ЧИП8 программу - рисует в средней трети экрана с наложением. Скорее всего дело в интерпритаторе, хотя в эмуле все рисует правильно...

    ---------- Post added at 16:25 ---------- Previous post was at 16:19 ----------

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    то придётся эмулировать CHIP8 на эмуляторе 8080 на процессоре 6502 xD
    Вот здесь есть исходники на М6800 для ЧИП8
    http://www.mjbauer.biz/DREAM6800.htm

  10. #9
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Чип-8 - вот это было бы оптимально для такого "калькулятора".
    Какие проблемы. Вот за вечер состряпал:



    Только таймер и звук ещё не сделал. С этим у ЮТ-88 проблемы
    Вот, думаю, как таймер сделать. В принципе, среднюю длительность выполнения каждой команды чип-8 можно замерить и сделать счётчик приблизительного количества тактов, а на его основе уже таймер замутить. А звука, видимо, вообще не будет.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	chip-8-ut88.jpg 
Просмотров:	1023 
Размер:	41.4 Кб 
ID:	53687  

  11. #10
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    где файлик для получения счастья? Зажал?
    Качай на здоровье. Таймер доделал, но это почти четверть всей программы К интерпретатору прилеплена программа brix, пересылается в область 0200h в самом начале (сам интерпретатор располагается по адресу 1000h), если нужно что-то другое, запускай с адреса 100Сh. Реализован только базовый CHIP-8, продвинутая версия SCHIP не реализована. На счёт скорости - всё равно есть сомнения, хоть я и старался, чтобы выполнялось примерно 2000 команд в секунду.

    Позапускал игрушки, из всего набора всего две-три играбельные (blinky, blitz, hidden, tetris), а из-за дикого расположения клавиш, играть иногда не интересно. Я замапил стрелки на 2,4,6,8, но эти клавиши не всегда используются, так что мало помогает.

    На вики есть ссылка на www.pong-story.com/chip8, программы брал оттуда (из архива с досовским эмулятором).
    Вложения Вложения
    • Тип файла: zip chip8.zip (1.3 Кб, Просмотров: 144)

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. ZXMAK2 - Виртуальная машина ZX Spectrum
    от ZXMAK в разделе Эмуляторы
    Ответов: 1974
    Последнее: 07.03.2024, 23:45
  2. Нужна виртуальная машина на ZX
    от alone в разделе Программирование
    Ответов: 57
    Последнее: 24.06.2020, 13:13
  3. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  4. Chip 1mb + Fast 8mb или 2mb chip без фаста ?
    от ongemah в разделе Amiga
    Ответов: 2
    Последнее: 09.05.2008, 07:12
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •