не могу найти описание - каким образом и при каких условиях TRDOS ром маппится в окна на ATM 7.1?
Может кто-то подскажет?
не могу найти описание - каким образом и при каких условиях TRDOS ром маппится в окна на ATM 7.1?
Может кто-то подскажет?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
PEN=0: во всех банках последняя страница ПЗУ
PEN=1: номер страницы и тип (ПЗУ/ОЗУ) высчитываются из записанных через out FFF7 значений
если в номере страницы, записанном через FFF7 bit6=0 - это ROM, иначе RAM.
если bit7=0 - номер страницы берется из инверсных бит 0..5 записанного для этой банки значения
если RAM и bit7=1, берутся инверсные биты 3..5 из карты памяти, и неинверсные 0..2 из порта 7FFD
если ROM и bit7=1, берется инверсные биты 1..5 из карты памяти, а вместо 0го бита подставляется сигнал DOSEN (1 при подключении трдос, 0 при отключении, всегда 1 в режиме CPM).Код:void atmSetBank(ZXComp* comp, int bank, unsigned char val) { unsigned char page = ~val & 0x3f; // inversed b0..5 if (val & 0x80) { if (val & 0x40) { page = (page & 0x38) | (comp->prt0 & 7); // mix with 7FFD bank; } else { page = (page & 0x3e) | (comp->dosen ? 1 : 0); // mix with dosen } } memSetBank(comp->mem,bank,(val & 0x40) ? MEM_RAM : MEM_ROM, page); }
Последний раз редактировалось SAM style; 11.11.2012 в 10:23.
Все любят гипножабу
тогда непонятен такой кейс:
1) ставим точку останова на #5C92
2) делаем сброс
3) из менюшки ATM заходим в Spectrum 128
3) из менюшки Spectrum 128 заходим в BASIC 48
4) выполняем RANDOMIZE USR 15616
5) вываливаемся на точке останова - замаплено пзу trdos
6) делаем шаг - маппится пзу basic 48 (чтение из ram)
7) делаем шаг - происходит вывод в порт out (#00F7),#00 и вот тут происходит непонятное...
По логике должна замаппиться страница пзу #7, т.к. D7=0, D6=0, D0,D1,D2=0 (инверсное значение 7). Однако в unreal остается замаппленой страница пзу basic 48... В чем-же дело, что не так?![]()
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Последний раз редактировалось SAM style; 11.11.2012 в 16:17.
Все любят гипножабу
вот, теперь заработало
---------- Post added at 16:11 ---------- Previous post was at 14:38 ----------
Обновил эмулятор до версии 2720:
- добавлено отображение расширенной информации об ошибках RZX
- исправлен лаг возникавший при сбросе PROFI ULA 5.xx
- исправлено поведение сброса
- исправлены тайминги PROFI ULA (thanks to solegstar)
- исправлена обработка порта #FF для PROFI ULA
- добавлен модуль памяти ATM2 (v7.10)
- добавлены новые предустановленные конфигурации: ATM Turbo 2+, PROFI 3.XX
![]()
Последний раз редактировалось ZXMAK; 11.11.2012 в 23:03.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
В режиме АТМ2+ не могу загрузить ни одну программу: отказывается читать диски. С грехом пополам получается ещё по команде DIR прочитать каталог (и то надо выбрать Ignore после сообщения об ошибке чтения), а вот запустить какую-либо программу уже не удаётся!
Последний раз редактировалось Doronetty; 12.11.2012 в 14:13.
Да, в CP/M к сожалению пока так. Но начало уже есть, что радует. И еще, есть Honey Commander для ATM2. Он висит в памяти, если из него запустить программу, а потом сделать reset, то вместо полного сброса, происходит возврат в HC. Так происходит на реальной машине и на Unreal тоже работает.
Есть другие версии HC переделанные под другие машины, после сброса не работают. В аттаче для ATM2 - рабочая 100% А еще в ATM2 covox был, но это уже не очень важно.
Последний раз редактировалось Moro; 12.11.2012 в 16:49.
У АТМ-1 тоже Covox был. И у Profi тоже![]()
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
И TD0 образы не понимает до кучи. Хотел проверить работоспособность Q-DOS, но увы...
А в режиме АТМ-1 есть одна странная фича (присутствует также в Unreal) - если запустить ста-а-арый копировщик дискет АТМ-turbo Copy 1.04 (его можно найти на сайте Максима Тимонина), который был написан именно под АТМ-1, он стартует с правильными шрифтами (не под АТМ или под АТМ2+ вместо букв выводится абракадабра), но вот диски он в упор не видит - пишет "диск не принадлежит к системе TR-DOS" и всё тут!
P.S: А вообще прогресс более чем радует! Запустил Galaxian под старый вариант 48К - бипер звучит именно так, как надо (а ведь он со времён Рауля (эмулятор R80 под DOS) так правдоподобно не звучал)!
Последний раз редактировалось Doronetty; 13.11.2012 в 01:33.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)