MSX в proteus

MSX-совместимые компьютеры

Moderator: Shaos

PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

Разобрался я с маппером, появилась вся память в 128К, только я взял патч по инициализации портов fc-ff и вставил его в РОМ из b2m, тк с РОМом из поста выше с таким патчем машинка ну очень долго стартует(до запуска теста ~7с симуляции, а с b2m ~2c), хотя и все работает ок.
MSXtestR_FC.PNG
You do not have the required permissions to view the files attached to this post.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

Ну и отлично :)

Ну, прямо заинтриговали, хотя мое предположение в причине столь быстрого биос-а подтвердилось.
Вот это место.

Code: Select all

			ld b,006H
A7D0D:	dec hl
			ld a,l
			or h
			jr nz,A7D0D
			djnz A7D0D			; wait 3 seconds
Последнею строку меняем на ld b,0 :)

Могу пересобрать, если надо?
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

Alekcandr wrote: Последнею строку меняем на ld b,0 :)
Могу пересобрать, если надо?
увидел, но пересобирать не надо на данном этапе.
Сделал K555IR26.dll (74LS670) и собрал полностью карту памяти для msx2: RAM slot3.2 и subROM в slot3.0.
You do not have the required permissions to view the files attached to this post.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

Завелось :)
PVV wrote:Сделал K555IR26.dll (74LS670) и собрал полностью карту памяти для msx2: RAM slot3.2 и subROM в slot3.0.
Это хорошо. Хотя я сижу на msx2+ без расширенных слотов и маппера. Усе слоты заняты, но пока хватает для экспериментов.

А что дальше?
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

Alekcandr wrote: Хотя я сижу на msx2+ без расширенных слотов и маппера. Усе слоты заняты, но пока хватает для экспериментов.
А что дальше?
Какая тогда карта памяти получается? я думал, что для msx2 slot3.0 для subROM нужен обязательно, или его можно на просто slot3 повесить, а ОЗУ на slot1 или slot2? Тогда и памяти больше, фактически, 64К не будет, тк один из слотов все равно нужно будет оставить для катриджей ведь.
Дальше, msx2:
- часы, на первом этапе dll, а, позже, на втором этапе, хочу на каком нибудь контроллере их проэмулировать(PIC, AVR, STM);
- v9938.dll довести до 9938 необходимого минимума для запуска биоса msx2;
- загрузка DOS, и желательно ее сделать на SD;
- после понимания необходимого и достаточного (объем РАМ, маперы-слоты, загрузка ПО) сделать схему и плату на макетке реальной машинки :).
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

PVV wrote: Какая тогда карта памяти получается? я думал, что для msx2 slot3.0 для subROM нужен обязательно, или его можно на просто slot3 повесить, а ОЗУ на slot1 или slot2? Тогда и памяти больше, фактически, 64К не будет, тк один из слотов все равно нужно будет оставить для катриджей ведь.
Не обязательно для msx2 расширенные слоты. Только одно условие mainrom должен лежать в слоте 0 или в слоте 0-0(саб-слот). Просто из-за специфики модульности делал все по минимуму, с целью получить быстрее результат. А так-то да маппер и саб-слоты лишними не будут в будущем.

Вот такая карта у MSX2+ на данный момент:
- Slot0: mainrom
- Slot1: subrom+optrom
- Slot2: Beer IDE или еще чего по вкусу
- Slot3: ram 64kB или mapper 64…4096kB (планируется)
PVV wrote: - часы, на первом этапе dll, а, позже, на втором этапе, хочу на каком нибудь контроллере их проэмулировать(PIC, AVR, STM);
А стоит ли их на микро- контроллере эмулировать? Сделать по минималке dll, чтобы биос не спотыкался в симуляторе. Реальные часики пока доступны, брал в том году 10шт за 10 у.е.
PVV wrote: - загрузка DOS, и желательно ее сделать на SD;
Тут для меня при условии получить быстро результат либо Beer IDE, либо Sunrise IDE. Можно и SD, но решений готовых я не встречал. По любому придется глубоко в тему вникать.
PVV wrote: - после понимания необходимого и достаточного (объем РАМ, маперы-слоты, загрузка ПО) сделать схему и плату на макетке реальной машинки .
Круто! :idea:


Да, я то прошел весь путь ничего-msx1-msx1.5-msx2-msx2+ чисто из спортивного интереса. А так по хорошему надо ориентироваться сразу на msx2+. Соответственно и в симуляторе также.

Выложу и тут сборщик биоса msx2+. Сборщик базируется на источнике. Не достающие части при необходимости брать от туда.
You do not have the required permissions to view the files attached to this post.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

Alekcandr wrote:
PVV wrote: - часы, на первом этапе dll, а, позже, на втором этапе, хочу на каком нибудь контроллере их проэмулировать(PIC, AVR, STM);
А стоит ли их на микро- контроллере эмулировать? Сделать по минималке dll, чтобы биос не спотыкался в симуляторе. Реальные часики пока доступны, брал в том году 10шт за 10 у.е.
А где интерес творчества? :) для того, что бы биос не спотыкался можно просто при чтении из порта часов на шину выставлять 0х01, этого будет достаточно, только после запуска на экране цвет нужно будет устанавливать каждый раз color N.
Alekcandr wrote:
PVV wrote: - загрузка DOS, и желательно ее сделать на SD;
Тут для меня при условии получить быстро результат либо Beer IDE, либо Sunrise IDE. Можно и SD, но решений готовых я не встречал. По любому придется глубоко в тему вникать.
Странно, что с SD проблемы. Одна из распространенных схем подключения SD так и называется msx, я думал здесь все налажено уже.

Часы по минималке сделал, и в v9938.dll добавил текстовый режим на 80 знаков в строке, bios msx2 из b2m запускается:
msx2_B.PNG
в v9938.dll у меня 64К памяти, а тест говорит 128... как так? или эта цифра зашита в bios?
msx2_T.PNG
и файлы по проекту:
You do not have the required permissions to view the files attached to this post.
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: MSX в proteus

Post by IgorR76 »

А какова скорость симуляции? Сравнивали с настоящим компом? Долго грузится?
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

Так это же msx2+ :ebiggrin:

Image

Пошел спать.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

PVV wrote: что бы биос не спотыкался можно просто при чтении из порта часов на шину выставлять 0х01, этого будет достаточно, только после запуска на экране цвет нужно будет устанавливать каждый раз color N.
Интересно, а как тогда часы без батарейки запускаются. Ничего ведь устанавливать дополнительно не надо, все настройки по умолчанию применяются (из биос-а). Хотя я глубоко в этот момент не вникал. Просто собрал часы для конфигурации msx2 :)
PVV wrote: Странно, что с SD проблемы. Одна из распространенных схем подключения SD так и называется msx, я думал здесь все налажено уже.
Схемы я тоже видел и на рассыпухе, и на CPLD. Вот только с софтом так и не понял, что делать и где его брать. Да и схемы для SD одной мало. Там MSX-DOS ROM нужен и драйвер под SD при нем. Так что пока буду ориентироваться на Sunrise IDE. Эта штука везде поддерживается.
PVV wrote: в v9938.dll у меня 64К памяти, а тест говорит 128... как так? или эта цифра зашита в bios?
Запустил testram c биос-ом msx2+. Та же фигня. Видимо это снова "особенность" этого теста. Сам vdp различает две организации памяти 16к и 64к. У него есть и регистр (бит) соответствующий.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

IgorR76 wrote:А какова скорость симуляции? Сравнивали с настоящим компом? Долго грузится?
Настоящей msx машинки я, наверное, и не видел живой, а симуляция, у меня WinXP с протеусом, запущенная в виртуалке на Athlon II 2800 - 6c симуляции занимает ~8.5 минут. Однако, на клавиатуру реагирует весьма живо на этом фоне, секундное нажатие кнопки уже отрабатывает.
Alekcandr wrote:Интересно, а как тогда часы без батарейки запускаются. Ничего ведь устанавливать дополнительно не надо, все настройки по умолчанию применяются (из биос-а).
Видимо из реальных часов или FF или 00 читается и биос это на дефолтные значения переписывает, а в варианте с 0х01 по всем адресам же эта 01 читается, вот и применяется ко всем параметрам. Моя dll часов тоже ничего в себе не хранит, и биос с параметрами по умолчанию и стартует.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

По железке. Для расширенных слотов надо затенять ячейку памяти 0хFFFF. Вижу что у нас все в порядке с этим :)

PVV, для будущей макетки MSX, как планируете буферизировать шину MSX? По стандарту MSX?
Я к чему спрашиваю. У меня шина достаточно нагруженная получается, а хочется до x3 клок-а разогнать.
Вот буферизировать 7 микросхем в каждом модуле, как бы ….. Или целым слотом(и) для отдельной кроссовой платы. Не могу определится. Видимо придется экспериментальным путем :)
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: MSX в proteus

Post by PVV »

Alekcandr wrote: PVV, для будущей макетки MSX, как планируете буферизировать шину MSX? По стандарту MSX?
А что есть по стандарту msx? Хотя я еще об этом и не задумывался. В моих планах все максимально интегрировать на одну плату и сделать один слот для расширения.
Доработал немного v9938.dll
msx2.PNG
upd: заменил dll на версию 6
You do not have the required permissions to view the files attached to this post.
Last edited by PVV on 01 May 2018 14:23, edited 1 time in total.
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

PVV wrote:А что есть по стандарту msx?
Вкратце так. Один буфер данных на n-слотов. Буфер активируется сигналами /SLTSLX (память) и /BUSDIR (порты). Каждый картридж (модуль) формирует свой сигнал /BUSDIR (если есть порты).
PVV wrote:В моих планах все максимально интегрировать на одну плату и сделать один слот для расширения.
Обычно два основных слота 1 и 2 выбрасывают наружу. Эти два слота и буферизируют. Потом один из этих слотов можно расширить до 4 саб-слотов отдельной платой.
Все это всего лишь один из вариантов. А так вариантов тут получается очень много :)
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: MSX в proteus

Post by Alekcandr »

А вообще по теме хотелось бы узнать, что в последнем релизе V9938 добавилось? :)

У меня либо система не та, либо я такой. Все жутко медленно работает в симуляторе. Нет возможности прочувствовать.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru