
Сообщение от
Alexander Makeev
Насколько я понял в этом эмуляторе трдоса используются т.н. "аппаратные ловушки"? Это я пока не реализовал, нужно разбираться что это такое и как работает.
В бейзконфе аппаратные ловушки не используются. Там две страницы ПЗУ с Эводосом. Одна для работы с дискетами, другая для эмуляции ВГ93. Для эмуляции ВГ93 нужны 4 порта в области TR-DOS: 2F,4F,6F,8F. Это обычные ячейки памяти: читается последнее записанное значение.

Сообщение от
Alexander Makeev
может кто подскажет как физически было реализовано сохранение старших битов в порт #F7F7 (когда старшие биты используются для адресации 4МБ озу, вместо управления ram/rom и dos)
Исходники же открыты. Вот:
Код:
// port reading: sets pages, ramnrom, dos_7ffd
//
always @(posedge fclk) if( atmF7_wr )
begin
if( za[15:14]==ADDR )
begin
if( za[11] ) // xff7 ports - 1 meg
begin
pages [ pent1m_ROM ] <= ~{ 2'b11, zd[5:0] };
ramnrom [ pent1m_ROM ] <= zd[6];
dos_7ffd[ pent1m_ROM ] <= zd[7];
end
else // x7f7 ports - 4 meg ram
begin
pages [ pent1m_ROM ] <= ~zd;
ramnrom [ pent1m_ROM ] <= 1'b1; // RAM on
// dos_7ffd - UNCHANGED!!! (possibility to use 7ffd 1m and 128k addressing in the whole 4m!)
end
end
end