Информация по форматам .RKO .BRU .ORD и С/SDL2 эмулятор

Компьютер Орион-128 (1990) расширяемый до 256 КБ и его развитие

Moderator: Shaos

medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Информация по форматам .RKO .BRU .ORD и С/SDL2 эмулятор

Post by medvdv »

Сперва лирическое отступление

Друзья, сугубо для развлечения (но может быть кому-то это будет потом полезным) я написал на С эмуляцию
i8080 (CPU)
Z80 (CPU)
MOS6502 (CPU)
i8255 (PPI)
i8275 (VG)
i8257 (DMA)
AY-3-891X (PSG)

Выдержал примерно в одном стиле :-) и старался чтобы они были не большими и максимально понятными - я думаю их можно легко прикрутить и использовать если кому-то будет надо. Делал по интеловским докам и прочей документации зарубежной включая недокументированные моменты которые нашел - соответственно они практически веде сразу заработали - для примера очень быстро сделал эмуляторы RK-86 и ORION-128 с использованием SDL2 - те можно компилировать этот код где угодно, у меня Mac OS например - а для мака вроде не было пока особенно эмуляторов отечественных "шедевров" :-)

Что касается процессора i8080 то там многие сложные моменты - с флагами и DAA например сделаны проще чему я видел у здесь известных эмуляторах как по размеру кода так и по скорости - так что если кому либо пригодиться (целиком или просто кусок кода выдрать) - берите - мне не жалко. на github пока не клал но чуть ниже приложу архивчик глянуть.

тесты CPU Exerciser и прочие которые я нашел эмуляция проходит - как у Z80 так и i8080 но у меня такие есть подозрение что с Z80 что то я еще не доделал (я написал эмулятор ZX 128 и он работает отлично с чужим процессором но с моим кодом ведет себя странно хотя понять причину я не могу и тесты процессора он все проходит - возможно что то не так в прерываниях.

Так вот - RK-86 отлично работает а вот у ORION есть проблема он странно видит ROM диск выдавая всякий мусор. Хочу все отладить полностью и бесповоротно и потом опубликую с открытым кодом для всех без каких либо ограничений.

У меня возникли вопросы по форматам файлов - сам я в детстве собрал рк86 но не особо глубоко его программировал - появилась Ямаха MSX2 в школе - и она была куда как интереснее раз-ся =) и к ней было много отличных средств разработки, а про ORION я читал но не имел с ним дела - и вот захотелось так сказать компенсировать пробел :-) спустя более чем 20 лет. Сам то эмулятор за один вечер сделал а вот где взять описания - не знаю - может есть исходный код ORDOS или какие то описания форматов ROMDISK и тд? так мне будет гораздо проще - плюс хочу сделать загрузку .RKO .BRU .ORD - как они устроены есть ли информация? что то понятно из дампа но лучше быть уверенным сразу и не терять время на раскапывание :-)

Напишите если какая то информация есть у вас тут или medvdv@me.com буду очень благодарен
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

Так, ROMDISK заработал и эмулятор соответственно тоже, теперь попробую добавить таймер, улучшить перемаппинг клавиатуры чтобы не надо было ничего запоминать. Ну и загрузка на лету ORD/BRU/RKO важна - напишите всеж если есть какие доки или исходники :-) пока я понял что можно тупо перезаписать поверх рамдиска с 1610 начиная BRU/ORD файл (это одно и тоже практически?) но надо сделать как то по человечески - собирать прямо на лету их в ромдиск чтоли последовательно
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

ну раз никто не откликнулся то я уже и сам разобрался :D грузятся даже вместе отдельные ORD и BRU - набивая рамдиск на 3/4 странице - все отличненько :-) буду клаву дожимать

кстати - надо ли сделать запись состояния памяти - чтобы потом при запуске диски b c d сохранялись с последнего раза ? помоему удобно?
esl
Writer
Posts: 24
Joined: 23 May 2006 13:40

Post by esl »

8253 нету ?
таймер который
было бы интересно ;)

и вопрос, будут ли исходники открыты ?
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

все коды будут открыты с какой нибудь лицензией "делай что хочешь"
мне вообще не жалко я только хочу убедиться что все работает точно
у меня есть на данный момент собранные из этого конструктора
ZX48/128 - дергано работает =)
Orion 128 (256) - работает
RK-86 базовый - работает

я отладил ошибки в z80 почти и вроде как все сделал в орионе все что надо и рк давно рабочий
соответственно у меня там нет пока интерфейса открывать файлы и какого то меню конфигурации - надо в коде все менять прямо
но я думаю не проблема выложу - потом допишу уже меню

8253 могу сделать да - счас почитаю что как
вечером время будет сделаю

кстати как я понял были РК с ним и орионы - есть информация по подключению? я бы сразу и проверил! и какие нибудь программы которые его используют
esl
Writer
Posts: 24
Joined: 23 May 2006 13:40

Post by esl »

для рк - точно были, но софт не подскажу

вот это 3 канала

из свежено - подключили к Апогею (это РК расширенный)
вот видео
https://www.youtube.com/watch?v=2kNL8taPg5Q
http://zx.pk.ru/showthread.php?t=23323& ... ht=robocop

вот еще от того-же автора тоже ВИ53
https://www.youtube.com/watch?v=EtQo79s_hV0

подключили к ЮТ88 - тоже есть демка DEC0DE
https://www.youtube.com/watch?v=qaTApC_1bG0
http://zx.pk.ru/showthread.php?t=22791&highlight=DECODE

для апогея сейчас трекер пишут ;)

еще он был как звуковой к Вектор-06ц

и у Корвета (1 канал)
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

изучил чип там все понятно и не сложно - сделаю вопрос только в том что может быть весьма разный результат в зависимости от того как каналы подключены и как тактуются - поэтому и спрашиваю

счас посмотрю

тем временем я отладил окончательно Z80 вроде бы - спектрум тоже запустился работает, даже музыки в демках играет на AY-3-8912 правда может не так мягко как хотелось бы но это я еще вылижу =))

блин вот оказывается что нет нормальных тестов процессора - даже все эти экзерсисеры кучу комманд не проверяют или проверяют ЧАСТИЧНО - в итоге вот и не мог поймать баги напрмер EX SP,(HL) - ни один тест не проверял а там был баг :-))))

ну к счастью это все позади

сейчас оформлю и документирую те чипы и куски что уже есть и выложу

в целом конечно отечественные пк типа ориона или рк они куда как хуже спроектированы чем спектрум тот же - чего стоит только отсутствие прерываний каких то ну там 50 раз в сек - это же ацкий гимор делать игры в таком раскладе. ну и софта мало и глючный он

но свое болото как известно приятнее! =)))))
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

круто KAKOS NONOS сделал для апогея то с VG75 =)))))))
молодец :lol:

надо почитать про апогей и добавить все это в рк86
esl
Writer
Posts: 24
Joined: 23 May 2006 13:40

Post by esl »

medvdv wrote:изучил чип там все понятно и не сложно - сделаю вопрос только в том что может быть весьма разный результат в зависимости от того как каналы подключены и как тактуются - поэтому и спрашиваю
у меня шкурный интерес ;)

меня интересует чтобы корректно отработатывали счётчики
в Корвете на 2х каналов
SYN0,SYN1=2mhz
CTO,CT1,CT2 - '1'

а на SYN2 подается ~HBL
т.е. как понимаю там что-то вид 00000000000001111110000000000000111111
и нужно чтоб правильно счётчики считали и выход правильно формировался ;)
medvdv
Junior
Posts: 7
Joined: 15 Jun 2014 03:08
Location: 79.134.199.30

Post by medvdv »

подожди не понял там подается на вход в смысле не равный такт 01010101 а типа 000110001100011000 и от этого что то зависит в итоге? считать оно же все равно по фронту будет или вверх или вниз не по обоим?

или ты в смысле что фронт третьего канала будет между фронтами других двух ?
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Информация по форматам .RKO .BRU .ORD и С/SDL2 эмулятор

Post by Pyk »

Проект заморожен?