<< Форум | Эмулятор БК на Java, о необходимости которого так много говорил Брухис ...
? Александр Тишин (Sandro) @ - 20 января 03:02 ... достиг уровня альфа-версии. То есть, можно поиграть в некоторые игрушки :) Пока эмулируется только БК0010 с бейсиком. Есть EMT-перехват на чтение с магнитофона. Если кто-то хочет опробовать черновую версию, и не боится глюков, то скачать можно тут: http://depositfiles.com/files/c5utr39tr Системные требования: Java SE 1.6 или выше, Celeron333A или более быстрый процессор (оценка, не проверял именно на этом), экран 1200x800 или больше, желателен звук. Комментарии приветствуются :)
? anonymous - 20 января 06:03 Побаловался, мило, но в жабе не разбираюсь, помощи предложить не могу, увы. Порадовало соответствие знаков препинания клавиатуры, а то большинство всяких эмуляторов почему-то расчитывают, что у пользователя окажется английская раскладка и в них потом ничего найти нельзя, кроме как методом тыка, у меня японские клавиатуры используются, и, как видите, расположение знаков пунктуации и прочих символов на них соответствует БКшному http://qbus.narod.ru/jp106.jpg :)
? Александр Тишин (Sandro) @ - 21 января 01:22 Ну, в области жабы я пока и сам справляюсь. :) Основная проблема сейчас с ошибками эмуляции процессора. Как выяснилось, тест 791401 проверяет далеко не все команды. В частности, он не заметил кривое формирование флагов в CMPB. Раскладка же такая вышла в результате попыток примирить раскладку qwerty c БК-шной логикой переключения РУС/ЛАТ, ну и верхнего регистра, конечно. Забавно, что совпала. :) Возможно, это не окончательный вариант.
? crabable @ - 22 января 16:10 Огромное спасибо за эмулятор!
? Александр Тишин (Sandro) @ - 1 февраля 03:56 Пожалуйста :) Новости: заборол ошибки в эмуляции процессора, теперь работает практически всё, что проверял. Единственное исключение - PLANE, но она у меня и на реале глючила. Заодно сделал эмуляцию джойстика на нумпаде ("стандартная" распайка от SW corp) и EMT-перехват на запись. Ну и "серые" клавиши добавил. Так что теперь можно играть/работать практически как на настоящей БК-0010.01 с магнитофоном :) Скачать можно тут: http://depositfiles.com/files/9moo3wim3 Сообщения об ошибках приветствуются :)
? crabable @ - 2 февраля 15:06 Александр, а можно как-то сделать в эмуляторе ремаппинг клавиатуры, чтобы она соответствовала раскладке PC?
? anonymous - 2 февраля 15:27 Да, и поскольку и на PC у всех разные раскладки, то ее выделить в техтовый файл настроек надо.
? crabable @ - 2 февраля 21:39 То есть в обозримом будущем можно этого ожидать?
? Александр Тишин (Sandro) @ - 2 февраля 23:47 Сделать можно, но я пока плохо представляю себе, как её задавать (особенно для случая верхнего регистра). Пока единственное, что пришло в голову, это вот такой вариант: pc_key = bk_key[/bk_shifted_key] Ну и всё это будет в текстовом файле keyboard.cfg. Так годится?
? anonymous - 3 февраля 00:27 а pc_key как код символа или скан-код? Если второе, то тогда для самой клавиши и для комбинации с шифтом отдельно надо задавать, а как быть с альт(АР2) и контрол(СУ) БКшными, которые код не выдают, но модифицируют, им как назначение делать?
? Александр Тишин (Sandro) @ - 3 февраля 01:47 Символическое имя. До ява-программы доходят такие как бы псевдосканкоды, которые нигде, кроме как в документации на неё, не описаны :) Т.е. как-то так: "A" = "A" "[" = "["/"{" F1 = POVT #не хочу делать кириллические имена, ибо кодировки ... F2 = KT LSuper = RUS Ну и так далее. Для модификаторов я хочу пока оставить жёсткие назначения, это упрощает.
? crabable @ - 3 февраля 09:48 Александр, ещё вопрос... При переключении режимов экрана по Scroll Lock получается три режима. 1 - стандартный чёрно-белый, 2 - стандартный цветной, а посередине между ними ещё один режим, я его смог обозвать "сглаженный чёрно-белый". Это изначально такая задумка была или просто в процессе эмуляции так получилось?
? anonymous - 3 февраля 14:56 Это же родные три режима БКшки, 512х256 2 градации яркости, 256х256 4 градации яркости и 256х256 4 цвета....
? crabable @ - 4 февраля 15:30 Да, но в БКшке 2 родных режима: 512*256 - монохром и 256*256 - 4 цвета.
? anonymous - 4 февраля 15:59 Ошибаетесь. Читайте про 1, 3 и 5 контакты разъема XT9.
? Александр Тишин (Sandro) @ - 4 мая 02:44 Суровый год выдался, не так уж и много времени удалось потратить на эмулятор :( В общем, в честь моего дня рождения выкладываю версию 0.2 :*) Есть переназначение клавиш :) Пока экспериментальное, правда.. в общем, ужасайтесь :E Ещё сделал контроллер FDD, пока только на чтение. Зато работает диск+Бейсик. Ну и мелочи: CapsLock, скриншот по F12, выход из эмулятора по Pause/Break Особая просьба anonymous: проверьте пожалуйста, удаётся ли настроить дополнительные кнопки на японской клавиатуре? Кое-что пришлось делать по догадкам, документация тут не очень внятная. Скачивать тут: http://depositfiles.com/files/izyp8adm4
? anonymous - 4 мая 11:10 Клавиши @`(код 34) :*(код 48) ^~(код 21) не работают, напротив, не воспринимаемые большинством программ ¥|(код 133) и \_(код 211) - работают.
? anonymous - 4 мая 11:12 P.S. коды десятичные, номера из таблиц xmodmap
? anonymous - 4 мая 12:00 Нет, все заработало, я стандарт попутал, например AT пытался назвать COMMERCIAL и т.д. - все клавиши назначаются и работают.
? Александр Тишин (Sandro) @ - 4 мая 23:59 Спасибо! В яве там каша между "виртуальными" сканкодами для клавиатур PC106, маковской и сановской. Частью общие, частью разные. Плюс совсем виртуальные клавиши типа быстрого ввода кандзи через Alt+буквы. Я в меру своих способностей попытался разделить виртуальные клавиши и настоящие :) т.к. передавать виртуальные в маппер эмулируемой машины нельзя -- будет мусор из-за того, что программа получит пачку из сообщений о нажатии виртуальных и реальных клавиш. Поэтому и боялся, что отрезал лишнего, и часть реальных кнопок работать не будет. Все имена клавиш, которые знает маппер, пишутся в создаваемый при первом запуске keyboard.ini. Стоит добавить это в документацию?
? anonymous - 5 мая 00:47 Я понял, что все используемые там прописываются, когда запутался с описанием и переименовал файл - появился новый. Пункт, поясняющий механизм описания, конечно нужен.
? nzeemin - 13 мая 12:22 Александр Тишин, а в исходниках этот эмулятор планируется выложить?
? anonymous - 13 мая 13:43 Исходники есть в составе .jar-архива, файл в его корне src.zip, однако он требует пароля :)
? Александр Тишин (Sandro) @ - 13 мая 21:06 Официальный выпуск исходников планируется, когда будет нормально работать базовый функционал (0010/11M). Сейчас часть программных решений временные, они мне не нравятся. Ну особые любители БК могут подобрать пароль Ж) Он известен БК-шникам .. А что, есть какие-то технические вопросы по эмуляции? Я могу ответить, без проблем.
? nzeemin @ - 13 мая 21:58 По-моему, исходники либо открыты либо нет. А так что лежат но под паролем -- как-то это непонятно -- что автор этим хотел сказать.
? anonymous - 14 мая 00:05 Вы так и не обосновали, зачем они вам. Нужны ли вам действительно внутренности проекта, если вы даже не поинтересовались содержимым контейнера? Автор пояснил вам, что доступ к ним ограничен, пока применены временные, не самые оптимальные, на его взгляд, решения, потому лучше, чтоб они не расползались пока в таком виде. На суд ощественности лучше вынести законченное с точки зрения автора изделие, тогда не будет изобретения велосипедов, т.е. модернизации кода сторонними лицами в тех же местах, на которые имеет виды и автор, а вот когда идеи у него иссякнут - сообщество придет на помощь. На "сыром" этапе разработки подключение большего числа разработчиков только усложнит работу автора, ведь помимо своих разработок, придется изучать и чужой код. Когда проект ведется в фоне, с трудом выкраивается время, это только застопорит процесс.
? nzeemin @ - 14 мая 00:28 Мне интересно как в данном случае автор подошёл к реализации эмуляции, и как это ложится на Джави. Как показывает практика, количество желающих помочь написанием кода в таких случаях не сильно много. И уж тем более сомневаюсь в наличии людей, которые будут плодить дубли на основе этого кода. Хотя конечно хозяин -- барин. Что касается "законченности" 8-) то по моим ощущениям, эмулятор можно дописывать и исправлять до бесконечности.
? Александр Тишин (Sandro) @ - 14 мая 05:04 nzeemin, я действительно опасаюсь размножения недоделанных и кое-как запатченных версий, anonymous всё правильно написал. Эта беда случилась с многими эмуляторами. Конечно, БК не самая популярная машина, шансов не так уж и много, но они есть. Поэтому я планирую выпустить исходники тогда, когда эмулятор не будет вызывать желания что-нибудь в нём _немедленно_ исправить или переделать. Архив с паролем -- это запаска на случай, если я по каким-то причинам не смогу продолжать работу над эмулятором -- ну или кому-то станет ОЧЕНЬ надо заняться им самому :) По моим представлениям, человек, одолевший запароленный архив, будет работать над эмулятором серьёзно. Насчёт посмотреть -- если хотите, могу выслать пароль. Хотя вряд ли там найдётся что-то особо для вас интересное (это я сейчас сделал checkout BKBTL и бегло просмотрел -- многое сделано примерно так же). Кроме модели времени, может быть -- да и ту я собираюсь несколько переделать для большей универсальности. Ну и чтоб два раза не вставать: Готова версия 0.2a: диски теперь не только читаются, но и записываются; при запуске можно выбирать образы; исправлена ошибка в интеграторе звука (а я-то думал -- чего "клавесин" так хрипит?); применён другой способ построения картинки, по идее более быстрый. Хотя мне проверить не на чём :) Качать тут: http://depositfiles.com/files/vgaykw2u6 PS: Как все уже догадались, следующим этапом запланирована 11М :)
? nzeemin @ - 22 мая 23:13 Александр Тишин, интересует в частности как у вас сделана тактировка команд, где брали информацию для по таймингам?
? Александр Тишин (Sandro) @ - 24 мая 00:10 Информация взята из эмулятора Брухиса, я сам не снимал времянки. Методика простая: эмулятор процессора считает свои циклы, остальные блоки в момент обращения к ним "догоняют" своё время до времени процессора. Это заметно ускоряет эмуляцию по сравнению с "пинанием" всех блоков каждые несколько тактов. Поскольку у меня поля команды декодируются последовательно по мере надобности, то для команд с доступом в память циклы добавляются за каждую фазу исполнения последовательно: // amount of cycles needed to calculate address and read single operand final static int eaMemCycles[] = {0, 12, 12, 20, 12, 20, 20, 28};
// generates an effective address // emulated CPU registers will be modified as the side effect protected final short genEA(int mmode, boolean byteaccess) throws QBusError { int reg = mmode&7; int mode = (mmode>>3)&7; short ea = regs[reg];
cycles(eaMemCycles[mode]);
switch (mode) { case 0: // reg return -1; case 1: //@ reg/(reg) return ea; case 2://(reg)+ if (reg == PC || reg == SP) { ea &= ~1; regs[reg] += 2; } else regs[reg] += !byteaccess?2:1; return ea; case 3: //@(reg)+ regs[reg] += 2; return machine.readWord(ea); case 4: //-(reg)
if (reg == PC || reg == SP) { ea = (short) ((regs[reg] -= 2) & ~1); } else ea = (regs[reg] -= !byteaccess?2:1); return ea; case 5: //@--(reg) ea = (regs[reg] -= 2); return machine.readWord(ea); case 6: //123456(reg) ea = machine.readWord(regs[PC]); regs[PC]+=2; ea += regs[reg]; return ea; case 7: //@123456(reg) ea = machine.readWord(regs[PC]); regs[PC]+=2; ea += regs[reg]; return machine.readWord(ea); }
return -1; // should not be reached }
? nzeemin @ - 24 мая 11:02 В итоге я тоже у Брухиса взял тайминг. Но и источник нашёл, которым Брухис пользовался -- это описание Зальцмана из №1 1995 журнала "Персональный компьютер БК" -- там указано время выполнения команд для БК-0010, в микросекундах, умножаем на 3 и получаем такты.
? anonymous - 24 мая 16:18 Поищите тут на форуме, я из ОСТ на процессор растактовку еще приводил.
? nzeemin @ - 24 мая 16:46 anonymous, да, нашёл, спасибо: http://bk0010.org/forum/?id=3012&page= Это практически то же что приведено у Вакуленко: http://vak.ru/doku.php/proj/bk/1801vm-series Хотелось бы ещё сканы этого ОСТ, но я так понимаю что большего они и не дадут. Жаль что далеко не все команды здесь отражены. Сколько примерно в тактах занимает интервал t? Сравнивая с таймингами из журнала (я так понимаю, Зальцман получал их экспериментально), получаем что t находится в интервале от 5 до 8 тактов.
? nzeemin @ - 27 мая 23:44 Сделал простенький бенчмарк -- замер таймером пустого цикла из 200000(hex) итераций, затем замер таймером цикла с командой, получение разницы. Погонял на эмуляторе и реальном БК-0011М. При этом наблюдаю несколько странные вещи. Команды не требующие дополнительных обращений к памяти -- проверялось на командах NOP, CLC, BIT R0,R0 -- выполняются за 10.66 такта. В принципе, пустой цикл -- это очень много команд SOB, поэтому это время у меня тоже есть, и получается что "SOB R0,метка" -- выполняется за 21.33 такта. Вот эти трети такта меня и смущают. Скорость выполнения команд типа NOP по ОСТ 11 348.918-83 (на процессор) должна быть равна 8+t, где t (цитирую) "t - время между установкой сигналов DIN/DOUT и RPLY, последний стробируется тактовой в противофазе с процессором, потому время также привязано к тактам". Получается, что t равно то 2 то 3? т.е. иногда RPLY успевает установиться за два такта, а иногда нет. Либо всё-таки у меня в логике ошибка.
? Александр Тишин (Sandro) @ - 28 мая 00:26 t, насколько я понимаю, это время доступа к памяти. Если речь идёт об ОЗУ, то ВП1-36 работает так: на одну телевизионную строку длительностью 64мкс ровно у неё происходит 96 циклов доступа к памяти, из которых чётные (при нумерации с 0) достаются процессору, а нечётные -- видеоадаптеру (даже на полях видеосигнала). То есть, при частоте 3 МГЦ процессор может читать/писать данные только каждый 4 такт, строго. Поэтому у БК-0010 время исполнения всех команд из ОЗУ кратно 4 тактам, всегда. В 11М процессор работает на 4МГЦ, а ВП1-36, естественно, всё так же на 3 (или 6, это как посмотреть :) ). Поэтому выходит, что процессор получает доступ в ОЗУ 1 раз в 5 1/3 такта. В среднем. А поскольку даже простую команду он не может выполнить за 5 тактов, то получается исполнение за два цикла доступа к памяти, хотя реально из них используется только один -- для чтения команды.
? nzeemin @ - 1 июня 22:06 Александр Тишин, спасибо за обстоятельный ответ. Получается, что большинство (или даже все) эмуляторы БК полагаются на некоторые "усреднённые" длительности команд, не учитывая все эти особенности.
? Александр Тишин (Sandro) @ - 7 июня 14:42 Всегда пожалуйста! (Кстати, я, конечно же, неправильно написал название. Она ВП1-37 все же :) В, общем, да. Я не слышал, чтобы кто-нибудь пытался в точности воссоздать времянки ВМ1 в реальном окружении. Кстати, готова версия 0.3 эмулятора. С поддержкой 11М. Скачать можно тут: http://depositfiles.com/files/pcx1jmqnh
? nzeemin @ - 7 июня 15:13 Александр, можно таки пароль на сырцы? Мне всё более интересно как оно у вас устроено. Обещаю не плодить клонов.
? Александр Тишин (Sandro) @ - 7 июня 21:03 Однако, пропустил небольшую проблему с case sensitive операционками. Перезалил исправленную версию: http://depositfiles.com/files/wbq3z4bmo nzeemin, проверьте свой ящик на mail.ru
? Александр Тишин (Sandro) @ - 3 июля 23:13 Ну вот, дело дошло и до беты 0.4 Обновления: мультиколор, AY, Covox. Ещё имеется неотключаемый антифликер :D Скачать можно тут: http://depositfiles.com/files/7pubt3wie К сожалению, у меня нет точной информации, как выставлять мультиколор относительно таймеров (встроенного и 50 Гц). Поэтому есть просьба к владельцам реала 11М: запустить bk2010/files/multicol.bin на реале и сфотографировать _весь_ экран с большим разрешением (чтобы был виден каждый пиксель). И заодно проверить, мерцает ли где-то изображение, или нет. Буду очень благодарен.
? Leo B. @ - 22 июля 11:36 Сколько я пропустил! Александр, можно мне подключиться к разработке (заодно и Яву поизучать)? Если приписать к эмулятору функциональность Терака 8510 (это, в сущности, практически БК-0010, только без монитора в ПЗУ, но зато с загружаемым знакогенератором и возможностью перехвата обращений к стандартным консольным портам - т.е. можно иметь резидент, загруженный с диска в верхние адреса, и запускать типовой софт от PDP-11, указав ему 40 то ли 48 Кб памяти), то проект приобретет международную известность и полезность - это будет ПЕРВЫЙ эмулятор Терака в мире. Ну и, в конце концов, попробуем добиться работы CSIDOS-овских демок. И еще - я попробовал ГОВОРУН. По-моему, звук нужно чуть демпфировать, слишком дребезжаще получается.
? anonymous - 22 июля 15:39 Leo, а на терак еще что-либо нашлось с тех пор, как тут Т11 обсуждали? Документации я не нашел достаточной для того, чтоб воспроизвести машину, все, что на Т11 я смог собрать - макетку "стандартной" машинки по рекомендациям фирменного datasheeta, на проводках, однако :) http://qbus.narod.ru/044.jpghttp://qbus.narod.ru/045.jpg
? nzeemin @ - 22 июля 15:45 Александр, переходите уже в открытую разработку. Не думаю что будут форки, а польза налицо. Например, svofski поглядывал в исходники BKBTL в ходе реализации БК в FPGA http://code.google.com/p/bk0010/
? Leo B. @ - 22 июля 20:02 anonymous, мне кажется, что документов на http://bitsavers.org/pdf/terak/ достаточно для эмулятора (кроме реализации ODT, разве что). Устройство эмулятора консоли более или менее описано. Код ПЗУ начального загрузчика есть, несколько образов дисков где-то у меня лежат.
? anonymous - 23 июля 00:08 Leo, но схем-то нету :(
? Leo B. @ - 23 июля 00:33 anonymous, на этот счет есть так называемый "принцип утки": If it looks like a duck, quacks like a duck, walks like a duck, tastes like a duck... it is a duck. Так что если весь софт, который найдется, будет работать - этого будет достаточно.
? anonymous - 23 июля 00:39 Leo, мне интересно, как он был устроен, какие схемные решения и элементная база использовались.
? anonymous - 23 июля 02:23 А функции 7220 у вас эмулируются?
? Leo B. @ - 23 июля 02:35 Число 7220 мне ни о чем не говорит, поэтому, наверное, нет. А что это?
? anonymous - 23 июля 02:50 На фотографии платы графики белая микросхема - это 2D процессор, он умеер рисовать примитивы и масштабировать изображение. http://qbus.narod.ru/nec_d7220.pdf
? Leo B. @ - 23 июля 03:26 Он нужен для знакогенератора, наложения текста на графику и скроллинга. Прямого доступа к нему в системе не было. Для эмуляции знакогенератора и скроллинга согласно системной документации - http://bitsavers.org/pdf/terak/terak.video.display.pdf - совсем не обязательно знать детали хардверной реализации.
? anonymous - 23 июля 03:37 Эти описания я читал, но они не дают представления о том, как сам контроллер был обустроен физически. И, соответственно, какие возможности можно было получить дополнительные, введя простейшие доработки на плате, сомневаюсь, что был хоть один пользователь, из числа знавших, что там есть 7220, который бы был доволен чисто программным способом построения изображений, имея "в тени" столь мощный инструмент.
? anonymous - 23 июля 03:44 Еще вопрос не по теме БК, но по эмуляторам и графике: а не встречался ли кому проект эмулятора КГД и КЦГД от ДВК?
? Leo B. @ - 23 июля 03:55 Догадки можно строить любые. Увидим софт, который пытается пользоваться чем-то недокументированным - будем думать крепче.
? nzeemin @ - 24 июля 01:01 > а не встречался ли кому проект эмулятора КГД и КЦГД от ДВК? http://www.phantom.sannata.ru/forum/index.php?t=2367&a=stdforum_view&o=&st=60 borisfox: "Я находил как минимум пару отечественных эмуляторов, из которых один довольно неплохо эмулирует ДВК-3 с одноплатным вычислителем на некотором гипотетическом процессоре (нечто среднее между ВМ1 и ВМ2, но без EIS/FIS), с КМД, КСМ и КГД, и собственным драйвером жёсткого диска, не имеющим аналогов в реальных ДВК. Эти эмуляторы доступны в сети (откуда скачал, не помню уже), но, если нужно, могу выложить. Игры для КГД идут, но не в реальном масштабе времени (гораздо быстрее), и наблюдаются какие-то странные тормоза с клавиатурой, поэтому играть в них реально не получается. :-)" "Вдогонку - один из упомянутых отечественных эмуляторов разработки Владимира Полетаева, второй - В.А.Овсиенко. Второй с эмуляцией КГД, первый без, зато с EIS и с поддержкой встроенного обмена с хост-машиной (т.е. MS-DOS)."
? Александр Тишин (Sandro) @ - 24 июля 01:42 Лео, приветствую! Насчёт подключиться к разработке: для этого надо будет заселиться на какой-нибудь хостинг. Пока выбираю между github и bitbucket, планирую где-то в августе этим заняться. Правда, не знаю, будет ли это особо интересно -- в плане эмуляции БК из крупного остались разве что жёсткий диск и мышь; а так надо в основном баголовством заниматься. Ошибки, судя по всему, таки есть. А, ну ещё интерфейс и управление эмулятором, но это вообще нудятина :( Про Терак. Я ничего против изготовления эмуляторов других машин на основе моего эмулятора не имею, но хочу сохранить основной проект чистым (и максимально отполированным :):) ). Поэтому давайте всё же сделаем форк, пусть даже смешанный (БК+Терак). Про демки. На самом деле, большинство работает ... или почти работает. Проще перечислить очевидные ошибки: INSULT -- вылетает в 17, кажется, части (хотя ходит слух, что он там и на некоторых реальных машинах вылетал), кроме того в нём смещён мультиколор на большинстве экранов и косячит "снег" в одной из первых частей (или это не баг?). Technological Dreams -- смещён мультискрин. Иногда (очень редко) виснет, неизвестно почему. Disco Club -- вот тут полная беда. Запустите и всё поймёте. Оригинальная пьезокерамическая верещалка тоже не отличалась мягкостью звука :) Но вообще да, слух режет, если в наушниках. Фильтр звука у меня уже есть в рабочей версии, да и эмуляцию Ay-8910 уже исправил :) Кой-чего исправлю ещё и выложу. PS: вот нафлудили, пока меня не было :) Даже не дочитал ещё.
? Leo B. @ - 24 июля 05:56 Я могу создать git-репозиторий в sf.net/bk-terak-emu. Если делать по-честному, то хорошо бы воспроизвести функциональность уже существующего эмулятора - чтобы работал без перехватов EMT, плюс умел сырые образы флоппи-дисков (с "защитой") и пр. Делать ли для Терака специальный форк, можно решить по ходу дела. Если что-то работает в моем эмуляторе, и не работает в Вашем, то это будет легко поправить, как только у меня будет доступ к исходникам. А если и в моем не работает, то беда.
? Александр Тишин (Sandro) @ - 24 июля 17:46 sf.net не годится -- по правилам, они не принимают проектов с закрытым исходным кодом. Что же касается EMT-перехвата, то я не вижу смысла в отказе от него. Зачем ждать лишнее время, если результат тот же? В любом случае, программы со своей внутренней читалкой с ленты как правило используют вообще нестандартный формат, конвертор .bin -> звук тут не поможет. Всё равно придётся грузить из .wav или ленточного формата (1). Что же касается "сырых" образов, то они бывают разные. Если речь идёт о просто пословном дампе дорожки с атрибутами "маркер", то это давно уже есть. Надо только написать монтирование этих образов, работы на час вместе с правкой интерфейса. Я не сделал этого только потому, что мне такие образы не попадались, и вообще ничего о них не известно. Если же речь идёт о полной эмуляции структуры дорожки на низком уровне (до деманипулятора) ... то, опять же, неясно для чего это нужно. Разве для БК есть программы, которым важны такие тонкости? (1) Кстати, кое-какие мысли по простому универсальному ленточному формату со сжатием у меня есть. Надо, конечно, ещё изучить аналоги, но вроде бы получается неплохо.
? Leo B. @ - 24 июля 23:16 sf.net предлагался на случай, если код будет решено открыть. :) Иметь возможность работы с оригинальным EMT из bin-файла хорошо для демонстрации автозапуска, а для программ с внутренней читалкой, конечно, нужна и работа с .wav. Ленточный формат забавен, но вряд ли нужен - место на диске нынче дешево. Под сырым образом диска я имел в виду дамп дорожки с маркерами. Ниже этого уровня, вроде бы, спуститься было нельзя. Disco Club ведет себя очень странно. А под моим эмулятором - работает (правда, что случилось со звуком в SDL за последние годы, я не понимаю: раньше все звучало как надо, а сейчас - полная каша).
? Александр Тишин (Sandro) @ - 25 июля 19:44 Открытие планируется, но позже :) В принципе, никаких особых проблем с эмуляцией автозапуска нет, большинство программ уже и так автозапускаются. Единственное, надо бы для всяких хитрецов поточнее (ре)конструировать стек и регистры. Сейчас он повыше, чем надо (не отрабатывается вход в п/п чтения массива), а регистры другие вообще. Если хранить много лент, то специальный формат просто необходим. 90-минутная кассета в оцифрованном виде занимает примерно 260МБ -- многовато, на мой вкус. Другое дело, что сейчас это может быть и не нужно. Более низкий уровень хоть и не доступен впрямую, но создаёт наблюдаемые эффекты на стыках в начале/конце записи, т.к. там нарушается структура MFM кода. В результате при непрерывном чтении получается сдвиг на несколько бит плюс возможное искажение потока (при "проскоке" кода на пол-символа). Это позволяет, как минимум, отличить многократно прописанную дорожку от записанной в один проход, как при форматировании. А с подсчётом вероятности и величины проскока -- можно было идентифицировать диск. На PC этим пользовались, а вот насчёт БК -- не знаю. Disco Club я с набегу не осилил, увы. Трасса выглядит вроде бы нормально, а на экране такой вот ужас.
? Александр Тишин (Sandro) @ - 31 июля 17:39 Ну, в общем, кое-как я разместился на bitbucket. http://bitbucket.org/alex_tishin/bk2010_releases/downloads Заодно выпускаю припоздавшую версию 0.4: починен AY, есть аудиофильтр и ещё небольшой сюрприз :) Теперь сборки будут выкладываться без образов дисков и софта, место на бесплатном аккаунте не резиновое. Ну да вы все знаете, где этот софт искать :):)
? Manwe @ - 3 сентября 03:23 Офигительный проект! Только разрешение экрана бы поменьше, а то на ноутбуке не умещается.
? anonymous - 3 сентября 09:14 Так вот, кто злодействует! :) То-то я смотрю столько немасштабируемых сайтов в сети и программ, для которых надо лупу от телевизора КВН ставить перед монитором, чтоб что-то прочесть... Или иметь для них третий монитор со специально низким разрешением... Manwe, не надо поменьше, надо с регулируемым или переключаемым на стандартные значения. Если сделать окно 1:1 с БК, 512х256, то многим потребуется лупа, чтоб увидеть там что-либо.
? Manwe @ - 3 сентября 09:36 Конечно, лучше переключаемые разрешения. И ещё сохранение параметров, чтобы при запуске каждый раз заново не выбирать Covox/AY, диски и прочее (у меня на Макинтоше параметры не сохраняются, не знаю как у других).
? anonymous - 3 сентября 09:52 Так нету сохранения наверное, кроме раскладки клавиатуры, он никаких файлов настроек не имеет. В последней версии src.zip не вложен, не посмотреть, есть ли оно там, спрашивайте автора.
? Александр Тишин (Sandro) @ - 3 сентября 22:09 Manwe, спасибо! А какое разрешение у экрана ноутбука? По идее, в 1440*800 должно влезать, хоть и впритык. Но вообще, конечно, выбор разрешения нужен. И будет сделан. Тем более, что для версии 0.5 я как раз запланировал улучшение пользовательского интерфейса -- сохранение настроек, смена образов дисков во время работы эмулятора, ещё кой-какие мелочи. Предложения принимаются :)
? Manwe @ - 3 сентября 23:09 1280x800, но поскольку это Mac OS X, то там и сверху менюшка, и снизу док - в общем, места мало. Можно было бы сделать fullscreen mode, когда на экране 1280x800 выделяется область 1024x768 и в ней всё отрисовывается... Отдельно хочу сердечно поблпгодарить Sandro за работу - ждём новых версий!