Просмотр полной версии : Эмулятор 6502 на zxspectrum
ZXPIRATE
23.05.2025, 19:57
Всем привет.
В процессе изучения возможностей z88dk решил адаптировать под спектрум свой
ардуино эмулятор mos6502. После половины суток бодания с типами и некоторыми
особенностями синтаксиса( z= x + ++y; приводит к ошибке компиляции причем без указания места , надо z= ++y + x;), оно заработало. Из минусов - скорость и отсутствие указателя курсора.
Но для тестов сойдёт. Если кто нибудь захочет написать свой "HELLO,WORLD" в кодах
6502, имеется встроенный монитор-отладчик, так же из него можно запустить встроенные по
адресу #C000 шахматы microchess. Ну и встроенный бейсик, куда без него. Вывод символа на экран
производится записью его кода по адресу 0xF001, чтение клавиатуры из адреса 0xF001 или 0xF004.
82340823418234282343
Добавил курсор
82344
ZXPIRATE
23.05.2025, 22:10
а как запускать шахматы?
Войти в монитор - "m"
когда появится > ввести ".c000", появится байт из этой ячейки, нажать "g"
Программа называется cegmon на неё есть пдф в сети, сюда почему-то не закачивается.
В шахматах всё очень запутано, когда нарисует поле нажать "с", он его перерисует с фигурами, далее-"p"- ход компьютера, думает очень долго, когда походит вводите свой ход к примеру -6434 затем ентер, поле перерисуется и опять не забудте нажать "p" только тогда он начнет думать. и так до победы. и еще интеллект у программы слабоват, иногда может придумывать странные ходы типа ферзь буквой гэ.
P.S. "е" после "с" меняет цвет за который играешь
https://i.ibb.co/5ZQ7Y23/6502emul.png (https://imgbb.com/)
Странное сообщение об ошибке. И хорошо бы ускорить печать.
ZXPIRATE
26.05.2025, 11:49
https://i.ibb.co/5ZQ7Y23/6502emul.png (https://imgbb.com/)
Странное сообщение об ошибке. И хорошо бы ускорить печать.
С печатью все нормально, тормозит не она, а сам эмулятор, в версии с курсором на печать идёт в 2 раза больше символов, а скорость та же.
По поводу непонятного символа - это к разрабам бейсика в 1979 обращайтесь, возможно это какой-либо управляющий символ терминала так как #CE не может быть ascii символом.
И это....
вы в бейсике команды монитора выполняете.
Забыл спросить - как реализован симулятор? Если используется запись по адресам $000-$1FF. то не прокатит.
ZXPIRATE
26.05.2025, 19:32
Забыл спросить - как реализован симулятор? Если используется запись по адресам $000-$1FF. то не прокатит.
Не совсем понял ваш вопрос.
Для чтения доступно всё адресное пространство, для записи - первые 8кб, остальное - пзу с костылями.
А реализовано так - терминал, который перехватывает обращение к usart из симулятора 6502.
вывод > 0xF001, чтение из 0xF001 или 0xF004. тут два адреса поскольку пзу содержит код от разных компов и у них использовались разные адреса.
Похоже, что использован софт софт для UK101?
монитор не самый удобный, конечно:
https://uk101.sourceforge.net/docs/pdf/cegmon.pdf
ZXPIRATE
27.05.2025, 20:02
Похоже, что использован софт софт для UK101?
Не помню точно откуда, почти 2 года прошло. Вначале был один бейсик, потом совместил ром с ромом вроде от гранта сирла, и стало 2 бейсика и монитор, а затем вместо старого вставил шахматы, хз от чего, возможно это был ром от kim-1
ZXPIRATE
29.05.2025, 00:23
Собрал с родными ромами от эппл-1 и еще впихнул ассемблер а-1. ОЗУ доступно 16к.82359
Осталось перебрать раритеты и добавить Orao (:
Кстати, насчет шрифта. Вот такой набор у UK-101:
https://i.ibb.co/dJzgmFbS/char.png (https://ibb.co/n85CP93T)
ZXPIRATE
29.05.2025, 17:49
Осталось перебрать раритеты и добавить Orao (:
Кстати, насчет шрифта. Вот такой набор у UK-101:
https://i.ibb.co/dJzgmFbS/char.png (https://ibb.co/n85CP93T)
Очень маловероятно, что я буду менять шрифт в библиотеках z88dk.
ZXPIRATE
31.05.2025, 21:40
Чуть-чуть ускорил + косметические улучшения. память 16к.
82369
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot