Об том, что звук на выходе не похож на реальный, я в курсе. Не в курсе только как это решить. У AY получается перекос в сторону высоких частот, нижние почти не слышно.
Вид для печати
Разница в железе там охренительная. Начиная с того что придется поддерживать херову тучу мапперов памяти на слотовой архитектуре, а также звуковых чипов, и заканчивая принципиально другим видеоконтроллерорм. Там общего кроме z80 нету ничего.
Да и дело даже не столько в разнице в железе. Вот мне допустим зачем в компьютере ямашный колхоз со всеми этими РОМами, плагинами, конфигами и системными требованиями, если мне только спектрум нужен ? У меня и процессор, и память и дисковое пространство не резиновое.
Наличие реализации железа MSX в коде вообще никак не влияет на работу остальных машин - не отнимает время и не пуляет фейерверками. Задействуется только тогда, когда этот самый MSX выбран. Не нужно - не пользуй, я тебя не заставляю. Даже ПЗУ от MSX не обязательно искать.
PS: вчера посидел, запустил картридж с ASCII-8K маппером. Доволен как слон.
build 20160119
Ну, давайте пробовать бету MSX-1. Эмуляция не полная. Есть клава, есть AY, есть 128К (порты FC..FF присутствуют) есть v9918 (тоже пока не совсем полный), есть 2 слота под картриджи.
Поддержка основных мапперов картриджей - Konami4, Konami5 (SCC не эмулируется), ASCII8, ASCII16 и отсутствие маппера. При загрузке делается попытка определить тип маппера по факту записи в определённые ячейки. ASCII16 не определяется самостоятельно (как, если в #6000 и #7000 пишет и ascii8 тоже?), просто поставьте в настойках для слота этот тип. Если тип маппера не определился автоматом, будет использоваться тот, что в настройках.
Игры, на которых это всё проверялось:
1942 (ascii8), Alibaba (no mapper), Alien2 (ascii16), Animal Land (ascii8), Dragon Slayer 1 (no mapper), King's Valley2 (konami5 без scc), Majyo Densetsu (no mapper), Penguin adventure (konami4), Space Invader (no mapper)
Известные гадости:
- v9918 не увеличивает спрайты
- INT остался спектрумовский, но надо переделать под v9918
- нет мультиколорного экрана (на чём это проверять?) [fixed:а может и нет]
- в конце уровней в Penguin Adventure слегка коробит спрайт пингвина [fixed:порядок наложения спрайтов]
- в Animal Land почему-то тормозит звук
- дебаг содержимого картрижда кривой, на выходных переделаю общий маппер памяти по такому случаю
- ваши варианты
[ deb 32 ][ deb 64 ][ rpm 32 ][ rpm 64 ][ win ]
[ MSX1 bios ]
По ямаховскому VDP 9938 с таймингами есть достаточно большая статья в интернетах. Я регулярно на нее натыкиваюсь ища что-то другое, но в свете наличия реального железа и не занимаясь баловством с программированием VDP в таких режимах ни разу в букмарки ее не поставил. В каком-то из опенсорцных эмуляторов, не то в MESS не то в MAME не то в OpenMSX это реализовано.