Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Электроника МС 1502 |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 * 8 9 10 | Печать |
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 |
Загружается, запускается, играть пока не стал :-) |
Alex_B |
shattered написал: Расскажите, как вам это удалось (какая версия MESS, какой драйвер)?И еще — похоже, что архивы на для МС1502 загрузку проверял на M.E.S.S., загрузка без ошибок.http://www.pk-info.ru/ms1502/files/ битые (1, 2 и 4) — проверьте, пожалуйста. Загружались файлы на Бейсике в PCJr. В мониторе проверить было не на чем. Архивы проверил, все распаковываются. Сегодня попробую запустить эмуляцию в MESS, что-то не совсем получается даже выйти в монитор, может билд не тот скачиваю.. Скорее всего кассеты прогоню через FFT фильтр, как сделал с этой "ms1502_original_cassete2_sidea_fft_mono.flac" Спасибо Вам, что занялись эмуляцией МС 1502 в MESS, полагаю, что самым ценное - это оригинальный софт для МС1502 который записан на кассетах, и безусловно то - что каждый из нас писал на этой машинке. |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Я скоро отошлю авторам MESS патч, добавляющий работу с магнитофоном — http://paste.lisp.org/display/130550 Но сначала нужно починить ввод с клавиатуры — мы с SoftCat работаем над этим. Упомянутой в патче строчки про deassert IRQ1 недостаточно. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 * 8 9 10 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Электроника МС 1502 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |