Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Электроника МС 1502 |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 * 8 9 10 | Печать |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Пытаюсь починить ввод с кассеты в MESS. Цитаты из документации: [6.9.5 РЭ] "Для формирования звукового сигнала используются разряды PB0, PB1 порта 061H ППИ 1 и канал 2 ПТ. Сигнал с выхода разряда PB0 порта 061H ППИ 1 используется для разрешения работы канала 2 ПТ. Сигнал с выхода ПТ совместно с сигналом PB1 поступает на схему "И" и, далее, через схему эмиттерного повторителя подается на разъем "Видео" ПЭВМ. Уровень сигнала составляет не менее 250 мВ." [6.9.4 РЭ] "Для записи информации на магнитную ленту используется частотный способ кодирования сигнала. В качестве кодирующего устройства используется 2-й канал ПТ, программируемый в режиме 3 [square wave generator]. На каждый бит выводимой информации приходится один период прямоугольного сигнала. При этом единичному биту информации соответствует один период сигнала с частотой 2 кГц, нулевому - период сигнала с частотой 1 кГц (рис. 15). Контроль окончания периода осуществляется по переходу сигнала TIMER2 с уровня лог.1 на уровень лог.0. Опрос сигнала TIMER2 осуществляется через разряд PC5 порта 062H. Управление [gate] каналом 2 ПТ производится сигналом с выхода разряда PB0 порта 061H. Сигнал TIMER2 с выхода ПТ через пассивный НЧ фильтр первого порядка с делителем напряжения поступает на вывод 3 разъема "МАГ" для записи на магнитную ленту. При чтении с магнитофона, сигнал с вывода 3 разъема "МАГ" предварительно фильтруется, усиливается до необходимого уровня, снова фильтруется и поступает на компаратор. Для повышения помехозащищенности компаратор работает с гистерезисом порядка 50-70 мВ. Сигнал с выхода компаратора считывается через разряд PC6 порта 062H и программно декодируется в последовательность информационных байтов. Формат блоков данных приведен в базовом программном обеспечении. Обслуживание в/в на магнитофон осуществляется с помощью программного прервывания INT 15H." [1.5.1 БПО] "Как упоминалось ранее, файл на магнитной ленте - это совокупность 256-байтных блоков, первый из которых содержит 17-байтный заголовок файла, а остальные блоки содержат информацию, выводимую на магнитную ленту пользователем. Драйвер накопителя на магнитной ленте записывает на ленту информацию 256-байтными блоками. Если задается вывод меньшего числа байт, чем 256, такой блок при записи будет дополнен до 256 байт произвольной информацией." Перевод на чуть более понятный язык: \tКанал 2 таймера используется для вывода и на магнитофон, и звука. программируется в режиме 3 (square wave generator). \tбит PB0 [= 01h] "TIMER" разрешает работу канала 2 вообще — соединен с выводом G2 таймера. \tбит PB1 [= 02h] "SNDGATE" [сигнал 99] разрешает прохождение сигнала T2OUT на выход звука [D29.4] \tбит PB7 [= 80h] "CASWR" [сигнал 105] соединен со схемой, в которую также входит T2OUT. назначение не описано. \tбит PC4 [= 10h] "SNDOUT" [сигнал 157] соединен с выходом схемы "И" [D29.4] \tбит PC5 [= 20h] "T2OUT" [сигнал 97] соединен с выводом OUT2 таймера, схемами вывода на магнитофон [X6.3] и вывода звука. \tбит PC6 [= 40h] "CASSIN" [сигнал 166] соединен с X6.3 [ввод-вывод на магнитофон] \tпохоже, что при выводе на магнитофон таймер программируется один раз и дальше модулируется сигналом CASWR? \tа результат можно контролировать, читая CASSIN. Итого: починил тест канала магнитофона в Мониторе (команда V1). |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Alex_B написал: Расскажите, как вам это удалось (какая версия MESS, какой драйвер)? для МС1502 загрузку проверял на M.E.S.S., загрузка без ошибок. И еще — похоже, что архивы на http://www.pk-info.ru/ms1502/files/ битые (1, 2 и 4) — проверьте, пожалуйста. |
SoftCat |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 июля 2012 14:55 Сообщение отредактировано: 11 июля 2012 18:56
shattered написал: Вот так выглядит у МС1502 функция записи бита на магнитофон. Если флаг CF установлен, то "1", иначе — "0". То есть таймер перепрограммируется для каждого выводимого бита. При этом для каждого выводимого бита опрашивается бит PC5 "T2OUT", это порт 62h. Опрос нужен для того, чтобы определить окончание полного периода. А бит PB7 "CASWR" в модуляции вообще не используется. похоже, что при выводе на магнитофон таймер программируется один раз и дальше модулируется сигналом CASWR? ;------------------------------------------------------ ; Запись бита на магнитофон ;------------------------------------------------------ \t\tmov\tax,4A0h \t\tjc\tone \t\tmov\tax,250h one: \t\tpush\tax wait_high: \t\tin\tal,62h \t\tand\tal,20h \t\tjz\twait_high wait_low: \t\tin\tal,62h \t\tand\tal,20h \t\tjnz\twait_low \t\tpop\tax ; Вывод счетчика в таймер \t\tout\t42h,al \t\tmov\tal,ah \t\tout\t42h,al \t\tret |
SoftCat |
shattered написал: А бит PC6 "CASSIN" используется в функции чтения бита с магнитофона. а результат можно контролировать, читая CASSIN. |
SoftCat |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 июля 2012 15:04 Сообщение отредактировано: 11 июля 2012 15:27
Бит PB7 "CASWR" при записи на магнитофон должен быть установлен в "1". Этот бит просто открывает транзистор VT7. То есть при записи на магнитофон транзистор VT7 должен быть открыт. А модуляция идет от T2OUT. |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Как и ожидалось, BIOS в 1502 — переработанный от IBM 5150 PC. Помог листинг в IBM TechRef — http://minuszerodegrees.net/ma..._APR84.pdf (стр. 195 и далее). Сейчас кассеты не читаются потому, что срывается чтение пилот-тона (leader) — это минимум 512 бит '1', за которыми следует бит синхронизации ('0'). Если в отладчике MESS поставить такой breakpoint в процедуре чтения leader: bpset ff921,1,{logerror "CX %04X DX %04X ? BX %04X — %d\n", cx, dx, bx, bx > dx; go} То можно увидеть, как выглядит срыв — похоже, пропускается один переход через 0: CX 0200 DX 0378 ? BX 06CE — 1 CX 01FF DX 0378 ? BX 04FC — 1 CX 01FE DX 0378 ? BX 06A0 — 1 ... CX 00BC DX 0378 ? BX 05DE — 1 CX 00BB DX 0378 ? BX 05AC — 1 CX 00BA DX 0378 ? BX 089E — 1 CX 00B9 DX 0378 ? BX 0300 — 0 CX 0200 DX 0378 ? BX 05EA — 1 |
SoftCat |
shattered написал: Электроника МС1502 при записи на кассеты пишет 2048-битный пилотирующий сигнал, состоящий из единичных битов. Это как раз 256 байт 0FFh. Где-то в документации про это написано, но я еще смотрел ассемблерный код. Далее следует один нулевой бит. Сейчас кассеты не читаются потому, что срывается чтение пилот-тона (leader) — это минимум 512 бит '1', за которыми следует бит синхронизации ('0'). |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Заработало :-) Дело было в кривом опросе клавиатуры. Начал проверять: - IBM_PC_Diagnostics_Cassette.wav — из Бейсик-К грузится загрузчик ldcass.b, но при запуске зависает (неудивительно). - MK60-6_SideA.flac ("Tape13" на pk-info.ru) — ни одна игра не грузится до конца. - ms1502_original_cassete2_sidea_fft_mono.flac — первые две игры грузятся и работают, остальные пока не проверял. Остальные скриншоты — в альбоме по ссылке. |
SoftCat |
Посмотрите, будет ли грузиться эта Goody: http://files.mail.ru/FQ9GC0 |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Загружается, запускается, играть пока не стал :-) |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 * 8 9 10 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Электроника МС 1502 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |