Доформатировал книгу полностью. Еще предстоит вставить нормального качества картинки, расставить номера страниц и кое-что по мелочи. Ссылки см. в посте 111
Вид для печати
Доформатировал книгу полностью. Еще предстоит вставить нормального качества картинки, расставить номера страниц и кое-что по мелочи. Ссылки см. в посте 111
Здоровская книжка, спасибо :)
Ай, молодца! ;)
Кстати, еще такая книжка была в свое время:
http://surfacer.narod2.ru/book_evm.jpg
Скачать её можно тут.
Когда наконец доделают файл с бывшей когда-то моей книжкой надо будет обязательно скачать для истории. Сканирующий и компонующий в файл - молодец!
Спасибо за книги ребята! Обязательно книги изучу и соберу свой комп =)
Интересно, а выпускались ли под ЮТ-88 печатные платы....
Самая точная схема от Prusak есть тут.
Prusak, а по-моему, это самая лучшая схема! Во всяком случае она отображает почти все, что хочется от ЮТ-88, имхо.
Если всё же кто-нибудь будет повторять эту схему, то сразу говорю - в прошивке ПЗУ хоть и есть ОС ЮТ-88 и CP/M, но нормально поработать с ними я так и не смог - нет софта для работы с ними, да и у меня подозрения, что дампы этих систем с ошибками, потому что системы эти глючат сильно.
На днях сел сверять дамп ОС ЮТ-88 с контрольными суммами. На первом же килобайте контрольная сумма не совпадает с указанной в журнале. Сверил дамп с двумя различного качества сканами с журнала. Совпадает байт в байт, но контрольная сумма отличается от журнальной. Не могу понять "или лыжи не едут, или я...". Неизвестно чему верить - контрольным суммам или напечатанному дампу ОС. Кто-нибудь сталкивался этим вопросом?
Дело может быть в методе расчета контрольной суммой - Монитор-0 и Монитор-F используют разные алгоритмы.
Я в своем варианте на ПЛИС не сверял суммы, но ОС ЮТ-88 работает. Хотя может и странновато. СР/М вроде не глючит.
Скорее всего дампы по идее должны набираться на мониторе-F, потому что примерно половина приведенных в журнале контрольных сумм ОС ЮТ-88 всё-таки совпадает. Для проверки я ещё считал контрольные суммы в программе WinHex - там алгоритм такой же, как в мониторе-F. Там то же самое.
ОС ЮТ-88 вроде работает, но курсор у неё странной формы, процедуру ввода с ленты я там так и не смог запустить - никакой реакции на сигнал с магнитофона, хотя в мониторе-F всё работает отлично. Потому и грешу на ошибки в дампе ОС ЮТ-88.
Да. Курсор действительно странный был. Запись/чтение, правда, не проверял. Но помню позапускал разные встроенные программки и немного с ними поигрался - серьезных глюков не встретил. Но сейчас не могу проверить - жена работает дома из-за того, что в наводнении на прошлой неделе ее офис затопило, и потому экспроприировала мой монитор к своему ноуту :) Если на следующей неделе он ей все еще нужен будет (а похоже он ей понравился :v2_dizzy_facepalm: :) ), то куплю себе новый и тогда проверю, а заодно и доделаю свой проект - там только интерфейс JTAG к SRAM осталось доприкрутить.
скажите а есть ли какиенибудь программы (игры) именно для ЮТ-88 ?
чтото сколько я не искал по различным сайтам, но удалось найти только тетрис да парочку cpm.
это что, всё что выходило для этого компика, или было чтото ещё ?
Насколько я понял, то ничего. Но вот под СP/M идет много чего. Я уже библиотечку для своего проекта собрал. И еще целый список на очереди пока не проверенных. Так что в принципе полноценный комп получится.
Есть ТЕТРИС.
В свое время дисасеблировал СРМ64.
Кому интересно в приложении.
До ЮТ88 руки не дошли. Но кое что осталось.
У меня нет пометок что совпали контрольные суммы следующих блоков
1 и 3. Пометки на дампе, стоят вопросы по адресам 3122 и 312A.
По адресу 3320 карандашем написано 4F и опять вопросы по 3333.
Распечатки дампов и бинарные файла на моем сайте.
ZEman, Конешно. здесь
Монитор забрал себе обратно пока выходные и попробовал чтение с магнитофона в ОС ЮТ-88. Не работает :|
Скорее всего, нужно верить контрольным суммам. Сделать там ошибку менее вероятно, чем при набивке всего дампа. Я так полагаю, верстальщик журнала набирал дамп не без мата :)
Вообще-то, курсора не должно быть. Судя по подпрограмме вывода символа, курсор рассчитан на железо Микро-80. Т.е. признак курсора не в старшем бите символа, а в одном из битов памяти по адресу на 800h байт выше.
Первое, что сразу же бросилось в глаза - не работает скроллинг экрана, просто вылетает. Ошибку я нашёл: по адресу 3320h в распечатке в журнале (или по адресу 320h в файле os_ut88.bin) должно быть не 4D, а 68. Кроме как на месть верстальщика ни на что не похоже :)
Контрольная сумма блока 3000-33FF стала ближе к напечатанному, но всё равно не сходится в последнем знаке.
В ЮТ-88 видеопамять дважды повторяется в адресном пространстве #E000-#E7FF и #E800-#EFFF. Такая аппаратная особенность упрощённой дешифрации видеопамяти. Так что при обращении к ОЗУ #E800 -#EFFF курсор должен быть :)
Другое дело, что он какой-то сдвоенный и при печати внутри самого курсора лишние символы видны.
Ещё глюк нашёл. Есть команда дизассемблирования W, например вводим WF800, затем нужно нажать 1 или 2 (левая или правая часть экрана), получаем листинг. Но если встречаются команды IN или OUT, то опять мусор на экране. Стал искать, в чём дело, нашёл пару байт (по адресам 3F1Eh и 3F9Ch), вместо A1 должно быть 01. Однако это в блоке 3C00-3FFF, и контрольная сумма до этого совпадала, а теперь нет :) Т.е. эту ошибку даже разработчик этой, с позволения сказать "ОС", не исправил. :cool:
Вобщем, как я понял, подготовкой этой "ОС" занимались мальчики-кружковцы. Взяли пару программ, адаптированных для Микро-80, и вместо того, чтобы адаптировать их для ЮТ-88, они исковеркали монитор Микро-80, как бы адаптировав его для ЮТ-88 (и то не до конца, взять хотя бы тот-же курсор). Отсюда и требование - отключать ПЗУ, чтобы на его место записать адаптированный монитор от Микро-80.
b2m, У меня по адресу 320 исправлено на 4F:eek_std:
У меня ещё один ламерский вопрос по CP/M: в примере использования программы ch.com говорится, что для использования ch.com надо предварительно загрузить систему CP/M в память, а затем в мониторе набрать коды программы ch.com и перезапустить систему CP/M по адресу #DA00, и уже оттуда, из системы можно пользоваться ch.com. Сам вопрос: изначально CP/M грузится по адресу #3100, т.е. она не инициализирована. Как я потом смогу перезапустить её по адресу #DA00 из монитора, если обратно монитору система управление не отдаёт?
Можно ли как-нибудь сохранить CP/M, чтобы при запуске она была сразу с ch.com, иначе придётся каждый раз при включении компьютера грузить ch.com заново?
Prusak, Да вроде тут уже описывали как.
b2m
Пробовал запустить тетрис под Вашим эмулятором, вобщем поиграть не удалось :(
бинарник цеплял через файл конфигурации:
Код:tetris : Memory {
rom="UT88\TETRIS.bin"
}
mm : MemMap {
map[0][0000-F7FF]=mem1[0000]
map[0][3000-365f]=tetris[0000]
map[0][F800-FFFF].ro=bios[0000]
}
Atari, к чему такой экзотический способ? Не все программы работают из ПЗУ. К тому-же, перекрывающиеся области в MemMap не являются корректными.
Почему бы не загрузить тетрис директивой I ? Файл tetris.rku есть в архиве um_1.zip на сайте Пыхонина.
Не спорю :)
---------- Post added at 19:14 ---------- Previous post was at 18:42 ----------
Предлагаю "хакнуть" тетрис :) Он вначале выводит 1Bh 45h (ESC E), что согласно докам на VT-52 и есть "очистка экрана", а в мониторе для этого предусмотрен код 1Fh.
Прикольно, как работает этот тетрис на Микро-80. А я думал, его как раз с этого компа портировали...
Дело не только в очистке экрана.
Когда нажимаешь на клавишу управления (7,8,9) всё останавливается до еще одного нажатия.
---------- Post added at 17:34 ---------- Previous post was at 17:30 ----------
кода 1bh 45h я не нашел, за-то много раз встречается 1bh 59h
---------- Post added at 17:42 ---------- Previous post was at 17:34 ----------
запутали вы меня в конец... 1bh 59h это и есть начало ESC последовательности...
Да, с клавиатурой непонятно. Она и в мониторе немного "подтормаживает".
Вывод 1bh 45h в самом начале после 6-ти нулей (тоже хак какой-то).
1bh 59h это установка курсора.
если честно, то я не понял как происходит арбитраж доступа к видео ОЗУ, такое впечатление, что его просто вообще нет, проц просто имеет приоритет.
Если глянуть схемку ЮТ - видно, что так оно и есть - при обращении процессора к видео ОЗУ отключается ПЗУ знакогенератора и на это время на экран выводится "чернота".
Вопрос тем кто курил бивис: если чтение из видео ОЗУ невозможно, каким способом просходит скроллинг? или где-то еще хранится копия видеопамяти?