А что, отличный ассемблер, кстати. Главное, поддерживает синтаксис Intel 8080 (ключ -8). Я его собрал, запустил, вроде работает. Порылся в твоей коллекции исходников биосов, нашел вполне приличный bios-2.1-89-MGU. Он, по крайней мере, нормально откомментирован.
Попробовал собрать. Как ни странно, собрался практически без проблем. На выходе получил кучку файлов в разных забавных форматах, пришлось читать доку, чтобы понять, что нужный мне сырой бинарник - это .CIM-файл. Взял дискету CP/M, посчитал смещения, записал этот бинарник внутрь системных дорожек. Попробовал загрузить с нее корвет.
Система бодро написала CP/M vers 2.2, а вот дальше на экран полез мусор. Сказка кончилась. Ну, тут сразу понятно, что мусор вылез из-за преобразования исходников из KOI-8 в UTF-8. Тут придется или вбить сообщения в виде хекс-кодов, или вообще использовать только латинские буквы.
Вообщем, сборка биоса вполне возможна. Единственное - я нотацию интела терпеть не могу, поэтому сделал еще один шаг - преобразовал исходники биоса в сиснтаксис Z80, к которому я больше привык. Транслировать его можно тем же xmac (он мне понравился, хороший ассемблер), можно и pasmo, и z80asm, это уже без разницы.
Сейчас схожу за пивком и попробую загрузить оттранслированный биос в эмулятор, посмотрю в отладчике, где оно виснет и почему. После того, как самоcборный биос успешно заработает, можно будет начинать вносить в него код драйвера эмулируемых дисков.





Ответить с цитированием