Эмулятор Агата обновился до версии 1.27
http://agatemulator.sourceforge.net/emulator.html
Вид для печати
Эмулятор Агата обновился до версии 1.27
http://agatemulator.sourceforge.net/emulator.html
Тоже эмулятор, но другой (MAME). Агат я не знаю, пишу по документации на agatcomp.ru. Что самом деле делает железо и что описано в документации -- похоже, две большие разницы :) Например, BOLO переключает режимы чтением C7xx, а не записью...
https://img-fotki.yandex.ru/get/4269...7b5bf_orig.png
+
https://img-fotki.yandex.ru/get/1189...377e3_orig.png
Другие различия:
1. сколько цветов, 8 или 16?
http://agatcomp.ru/Reading/ebooks-ci...HTEPFEJC.shtml (1987)
vs.Цитата:
'B пepвoм бaйтe xpaнитcя кoд cимвoлa, вo втopoм - eгo цвeт в видe 00H0MЦЦЦ'
+ 'Бaйт coдepжит 2 тoчки: биты 7-4 - лeвую, биты 3-0 - пpaвую. Цвeт кoдиpуeтcя битaми 6-4 и 2-0, кaк в ГЦC.'
http://agatcomp.ru/Reading/docs/TO4_5-Hi.djvu (1989)
2. сколько памяти в эмуляторе ПЗУ?Цитата:
с. 29: 'четыре разряда для кодирования цвета позволяют иметь для каждого блока 16 различных цветов'
http://agatcomp.ru/Reading/ebooks-ci...:PAMJATX.shtml (1987) -- 32KB
vs.
http://agatcomp.ru/Reading/docs/TO4_5-Hi.djvu (1989) -- 16KB (с. 26-27 -- разряд 0 слова управления не упоминается)
3. сколько памяти на генплате?
http://agatcomp.ru/Reading/ebooks-ci...:PAMJATX.shtml -- 32KB; расширение -- 32KB на отдельной плате, управление -- Cx00/Cx08/Cx09
vs.
http://agatcomp.ru/Reading/docs/TO4_5-Hi.djvu (1989) -- 32 или 64KB (с. 26 -- 'при емкости в 64 кбайт ООП разделяется на 4 массива', управление -- C0F0/C0F1) + расширение (как описано выше, + блокировка записи)
vs.
http://agatcomp.ru/Reading/docs/Mymrin.djvu -- 32, 64, или 128KB (с. 36 -- память на РУ6, РУ5Д1, или РУ5А/Б/В/Г) + расширение 32, 64, или 128KB; управление -- Cx00/Cx08-Cx0F (с. 38)
4. разное
что могло ставиться в слот 0 (разъем X1)?
Мымрин, с. 50 -- кодер SECAM
http://agatcomp.ru/Reading/for_beginners.shtml -- ячейка 121
Немного картинок и видео для привлечения внимания к Агату в MAME. Сделан только первый шаг -- Агат-7 с 32K памяти на борту, 140К дисководом и картами ДопОЗУ и ПЗУ (Language Card); клавиатура работает не до конца и т.п. Еще раз спасибо создателям agatcomp.ru за их труд -- все скриншоты сделаны с дисков из архива сайта
Bomber (Том 4, MARS&BOMBER.NIB)
https://img-fotki.yandex.ru/get/2433...68cfa1e_XL.png
+
https://img-fotki.yandex.ru/get/9745...bc394dc_XL.png
Спрут (Том 4, SOYAR[7].nib)
https://img-fotki.yandex.ru/get/2152...35890c5_XL.png
+
https://img-fotki.yandex.ru/get/1978...6224df9_XL.png
Mario Bros. (Том 28, MARIO.NIB)
https://img-fotki.yandex.ru/get/5203...d98713f_XL.png
+
https://img-fotki.yandex.ru/get/1954...2ea0f3e_XL.png
Z-Box
https://www.youtube.com/watch?v=GY0PkEtA7HE
Взялся за 840кб дисковод (а затем и остальной Агат-9). Пока собираю информацию -- хочется сделать эмуляцию точнее.
http://agatcomp.ru/Reading/fl800k.shtml
описание работы + осциллограммы
http://agatcomp.ru/Reading/serkov/hainfo/023-01to.shtml
http://agatcomp.ru/Reading/serkov/ha...23-01to1.shtml
ТО -- подходит в варианту схемы 1
http://agatcomp.ru/Reading/docs/es5323.txt
выжимка из ТО
http://agatcomp.ru/Hard/fdd840_cab.shtml
схема кабеля
http://agatcomp.ru/Reading/fl800k/FD...023-adj-HI.jpg
вариант схемы 1:
D1 - boot firmware
D8 - sequencer
D23 - MFM encoder
http://agatcomp.ru/Reading/fl800k/FD...-01-adj-HI.jpg
вариант схемы 2:
D1 - boot firmware
D6 - sequencer
D25 - MFM encoder
http://agatcomp.ru/Hard/roms.shtml -> pereph.rar
прошивки D1, D6 и D25
http://agatcomp.ru/Hard/fdd_5_25.shtml
https://github.com/sintech/AGAT/blob...40k-format.txtЦитата:
Доработка касается блока генерации сигнала NGTL == НГТ L (Накопитель ГоТов L [инверсный]) и блока управления электромагнитом головок - все их действия становятся более тупыми и источниками их управления становятся только сигнал готовности двери + Выбор Накопителя + Мотор Включен.
В оригинальной схеме НГТ L вырабатывается из двери + Выбор Накопителя, а электромагнит головок управляется Мотор Включен + датчик индекса (т.е. только при вращении реальной дискеты).
описание формата дорожки
http://www.torlus.com/floppy/forum/v...hp?f=19&t=1385
конверторы .dsk, .aim в .hfe/.mfm (для эмулятора дисководов HxC)
https://archive.org/details/Understa...ality_Software
глава 9 -- Apple Disk II, с подробностями работы Logic State Sequencer
Обратил внимание что эмуляцию текстовых режимов вы сделали на манер того как это реализовано в эмуляторе :
http://agatcomp.ru/Soft/winEmul.shtml
Должен заметить, что на самом деле текстовые режима агата имеют размер знакоместа 7Х8
т.е цветной Т32 это 224х256 точек, а Т64 это 448х256 точке.
Но была идея сделать функцию совмещения графики и текста по прерыванию, как это было в реальном агате (пару прог это пользуют) и сделали костыль, перерисовали знакогенератор под 8х8 чтоб по горизонтали было 256 точек и это совпадало с графикой 256х256. Разумеется подводным камнем стало то, что например при сплошной псевдографике появились полосы между тайлами символов. Но это будет переделано. Т.е. сейчас в эмуляторе не настоящий знакогенератор, настоящие можно взять тут (c картинками):
http://agatcomp.ru/Hard/roms.shtml
Вообще заходите: http://forum.agatcomp.ru/ подскажем если что о неочевидных особенностях агатов.
а что с эмулятором Олега Одинцова ?
жив ли проект, что так долго нет обновлений ?
думаю, да. оригинал выглядит так
http://i.imgur.com/fc0jAN3.png
+
http://i.imgur.com/nKaCip0.png
- - - Добавлено - - -
Это интересно. Как они называются и где взять? :)
Что-то работает, но эмуляция 840к контроллера пока недостаточно точна (например, не грузится тест с первого диска ИКП, и многое другое).
Тест памяти со второго диска ИКП (IKP/ikp2-19176.aim после перегона в .dsk)
https://img-fotki.yandex.ru/get/2256...5953b6f_XL.png
МаркиС с диска MARKIS.9/XX-COL/markis.dsk
https://img-fotki.yandex.ru/get/2256...fd9a5bc_XL.png
Алиса в стране чудес
https://img-fotki.yandex.ru/get/3724...66d6a9f_XL.png
Пробую сэмулировать 840кб контроллер на низком уровне -- т.е. запустить прошивку D6 (этакий аналог Logic State Sequencer из Disk II). Что-то похожее на правду получается, но каждый успешно декодированный бит "0" порождает сбой синхронизации , что странно.
Отсюда вопрос -- прошивка 'D6 -рт5 - Encoder-Decoder.bin' из http://agatcomp.ru/Hard/roms.shtml -- точно годная (т.е. если ее зашить обратно, работает ли контроллер)? Первые 128 байт в ней совпадают со вторыми -- это как раз логика режима чтения...
У семерки возможно совмещать текст и графику, скажем в рапире даже есть: (РЖМ("ВК"");)
http://agatcomp.ru/Gamez/GIF/UGADAY.png
В девятке возможно совмещать разные режима текста, Т32 и Т64
http://agatcomp.ru/Apps/GIF/CLOCK1.png
В эмуляторе это все реализовано и работает, но как я и говорил пришлось временно сделать тайлы букв 8х8 вместо 7х8 - поэтому так криво выглядят текстовые режимы, на ваших скринах тоже текстовые режимы такие же кривые.
Прошивки контроллера рабочие, о чем на сайте прямо указано.
Синхросбой - да.
Я слегка запутался в прошивках знакогенератора. В MAME принято использовать прошивки в таком виде, как они записаны в ПЗУ -- т.е. 1 чип = 1 файл, без обработки (инверсии данных, объединения дампов в один и т.п.). Тогда, видимо, agathe7.fnt из agatemulator был обработан -- в нем 128 символов, повторенных дважды, нулевой бит значит фон.
Но (цитирую http://agatcomp.ru/Hard/roms.shtml) -- "Во всех семерочных знакогенераторах пиксели идут от младшего бита к старшему, и нулевой бит обозначает линию, а единичный -- фон. А в девяточном -- от старшего к младшему, нулевой бит значит фон, а единичный -- линию."
Где взять необработанные? http://agatcomp.ru/Hard/roms/sys7.zip etc?
О! опять я прозевал.
В эмуляторе используются реальные прошивки, все кроме как раз знакогенератора (были причины). Ну и кроме того как я говорил он 8х8 а не 7х8.
А вот на этой странице все совершенно реальное прямо из EPROM : http://agatcomp.ru/Hard/roms.shtml
Чуть ниже, на той же страничке есть "про знакогенераторы" там подробно и почему бывает 128 символов и 256.
Про 840 может пригодится: http://agatcomp.ru/Reading/fl800k.shtml
Кстати, я заметил, что множество дисков из архивов в http://agatcomp.ru/Soft/arc-Agat/2010/ читаются как пустые -- т.е. в них обнулен каталог, хотя VTOC цела. Это почему?
Пустые каталоги можно восстанавливать моим восстановителем Recover.mfm
Где скачать? :) Здесь он "пока не выложен" -- http://agatcomp.ru/Apps/DskFrs.shtml
Я думал, у всех есть :)
Буду решать этот вопрос.
Отличная программа, скоро выложу.
Кстати агатовский менеджер это тоже может (ну чтоб рековер внутри эмуля не гонять).
http://agatcomp.ru/Soft/dos33c2.shtml
Но в вашем случае они обе не нужны.
Дело в том, что в архиве сайта нет образов которые требуется восстанавливать, ну совсем нет, даже одного.
Так что я пока даже не понял, зачем с теми образами такое проделывать.
Есть конечно подозрение что ахривы то вы качали - а текст не читали.
Да, что-то лыжи не едут... :)
Попробуем разобраться -- вот, например диск SCHM.7/140/SCHM.DSK из архива http://agatcomp.ru/Soft/arc-Agat/2010/systems.rar
VTOC выглядит годно
но каталог пустКод:00011000 04 11 0f 03 00 00 fe 81 82 00 00 00 00 00 00 8d |................|
00011010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011020 00 00 00 00 00 00 00 7a 00 00 00 00 00 00 00 00 |.......z........|
00011030 07 ff 00 00 23 10 00 01 00 00 00 00 00 00 00 00 |....#...........|
00011040 00 00 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
00011050 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
00011060 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
00011070 ff ff 00 00 ff ff 00 00 ff ff 00 00 7f fe 00 00 |................|
00011080 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
00011090 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
000110a0 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
000110b0 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 |................|
000110c0 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000110d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000110f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
?Код:00011f00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 00 |................|
00011f10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 |................|
00011f30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f50 00 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f70 00 00 00 00 ff 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011f90 00 00 00 00 00 00 00 ff 00 00 00 00 00 00 00 00 |................|
00011fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011fb0 00 00 00 00 00 00 00 00 00 00 ff 00 00 00 00 00 |................|
00011fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011fd0 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 |................|
00011fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00011ff0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
Дык я и говорю, не надо разбираться - надо просто прочитать, прям первый абзац той странички на которой ссылки на архивы:
http://agatcomp.ru/Soft/agat.shtml
Ну и остальное желательно
Да, на третий день индеец Зоркий Глаз заметил, что у сарая нет одной стены. Извините за тупость :) Для истории:
Что несколько усложняет тестирование (готовые гарантированно работающие образы были бы удобнее), но логику я понимаю.Цитата:
Эти архивы содержат максимально разделённые данные: образы дисков почти всегда пусты и имеют DSK-формат, иногда им сопутствуют дополнительные файлы со служебной информацией. Все файлы Агата хранятся в отдельных FIL-контейнерах. Если даже программа распространялась на диске с операционной системой, но ОС была одной из стандартных - в архиве образа вообще не будет, только FIL и ссылка на нужную ОС в readme. Такое дробление используется для того, чтобы упростить формирование сборников и легко находить отдельные файлы из разных частей коллекции.
И еще, у Агата бывает (напр. если крупный пакет занимает целый диск) не использовать файловую систему, а обращаться к диску по абсолютным адресам.
Там тоже не будет каталога. Ну и всякие "спрайт ос" используют свою ФС.
Да, ЕМНИП, в этом двухдисковом пакете нет каталога и VTOC-а. А на 17-м треке хранится список тестировавшихся, ЕМНИП.
Любопытная находка на диске "ALV[7].NIB" из тома 2 игрушек -- калькуляторы FRS-1 и FRS-2. В меню их нет.
https://img-fotki.yandex.ru/get/9145...e4e35_orig.png
+
https://img-fotki.yandex.ru/get/9145...d2e54_orig.png
О, мои калькуляторы :)
А еще есть? :-)
Из калькуляторов для АГАТа больше нет. Есть другие программы.
Вышел MAME 0.193 (https://www.reddit.com/r/emulation/c...zzd/mame_0193/) и в нем
Clones promoted to working: Agat-7 [shattered]
Реализован вариант с 32К памяти на борту и 128-символьным знакогенератором. По умолчанию "установлены" language card (слот 2), 140К флоппи (слот 3) и дополнительная память (слот 6), их можно переставлять и удалять совсем. 140К флоппи можно заменить на 840К (пока умеет только читать, и только по секторные образы, AIM в далеких планах).
Работы еще много, но Bolo работает :)
Пока еще не приходилось видеть эмулятор агата с такой (никакой) совместимостью и вообще таким далеким от реального агата....
И скорее всего он и будет таким, так как если следовать заблуждению что агат это клон Apple, то эмулятор и будет похожим на эпл а не на агат.
Не раз уже говорил что их эмулятор непригоден для использования, лучше бы на игровых автоматах остановились для чего и делался маме.
А для эмуляции агата есть "эмулятор агата".
архитектура у Агата взята у Apple, поэтому "клон". все, что нужно, чтобы работал родной софт Агата, дописано -- т.е. видео, управление памятью и т.д. если чего-то не хватает, это можно дописать.
когда проект останавливается, он умирает. MAME не умер именно потому, что пошел дальше аркадных автоматов.
Нет, к вашей работе вопросов нет, хорошо что хоть кто-то в импортные эмуляторы добавляет наши машины, но как сказал ув.ZEman - сам MAME.....
Что касается "клон или нет" это долгий разговор и не для этой темы. Я напомню что клон это когда пытаются максимально повторить, Агат же развивался по своей линии диктуемой Минобразования. "Буржуи" понятно что упиваются тем что агат клон, ну не смогут они признать что в СССР на однотипном процессоре создали намного более развитую машину, но вы то зачем?
Вот Dendy это клон NES, Ленинград это клон ZX, Правец 16 это клон ХТ, могу еще примеры, а агат даже несовместим - ну какое тут клонирование.
И в чем собственно "повторяет архитектуру" ? проц 6502 на 1Мгц ? Но у С64 то же самое - он клон эпл2?
Еще про повторяет архитектуру, в каком месте у эпл:
-где изящная архитектура сегментной модели памяти ?
-где гибкий и многостраничный дисплейный контроллер, с честными цветами и отсутствием конфликтов атрибутов?
-где вообще цвет для текста? и где возможность быстрого вывода динамических изображений?
-где молниеносный контроллер дисковода и продвинутая дисковая подсистема?
- где и т.д. и т.п. ? список могу расширить значительно
В каком месте эпл все это позаимствовал агат?
Это как раз и есть то, что определяет архитектуру.
Так вот это "не хватает" как раз и есть сильные стороны агата, я почему и сказал - если относится к агат как клону то и эмулятор выйдет "полуэплполуагат". А если все это реализовать то получиться уже не эпл и эмулятор будет хорошо повторять реальный агат. Все что у агат и эпл одинаковое - это погоды не делает, ну вот пример шикарную ПСЕВДОПЗУ назвать language card и дать ей возможности только как у language card - это не агат.
да, и обе модели имеют режим совместимости с apple, чтоб шел софт, написанный под него -- наверно, потому что так дешевле его внедрять.
вполне похоже на клон, с расширениями под конкретный рынок и условия производства -- сравните с China Educational Computer-1
давайте свернем тему, мне интереснее писать код, чем заниматься толкованием слов.
Нет у ж извините, никаких толкований слов, а именно про код и именно в сотв. с данной темой "Эмулятор агата"
Я пытаюсь донести до вас что хорошо бы правильно сформулировать компьютеру (или хотя бы самому себе) задачу, которую нужно решить.
Грамотно сформулированная задача уже наполовину решена - независимо от области, в которой занят программист.
И конкретно в нашем случае для того, чтобы написать хотя бы мало-мальски хороший эмулятор нужно адекватно представлять объект
эмуляции и знать его особенности. И до тех пор пока вы будете находится под влиянием заблуждения - нормальный эмулятор не выйдет.
Иначе выйдет недоделка типа эмуляции 840. Попробуйте отказаться от стереотипов и сами все поймете.
Ну вот опять:
Да, для Агата существовали модули и режимы совместимости с Apple ][, но это всё дополнительная функция.
При проектировании Агат-7 не было задачи обеспечить совместимость с эпл2.
Но разработчики предусмотрели возможность временного превращение агат в эпл2 с помощью дополнительного модуля 121.
По сути, с помощью ячейки121, Агат урезАл свои возможности до уровня более простого эпл2,
исполняя все ограничения и особенности присущие ему.
Это понадобилось при организации первых игровых залов на базе агата, когда собственного игрового По было еще маловато.
В Агат-9 такую функцию превращения внесли на материнскую плату, но она так и осталась только бонусом для запуска игрушек.
Ведь отечественные программисты активно использовали чисто агатовские особенности, характеристики которых были выше и предоставляли
среду комфортнее чем мог предложить режим совместимости с эпл2.
В итоге - да, АГАТ может запускать родной софт от эпл 2 (но не наоборот). Но не потому что агат как-то копировал эпл,
просто заложенная гибкость позволяла ему притворяться другой эвм - это называется аппаратная эмуляция и является всего лишь
дополнительной функцией.
Ах да, а что будем делать с BBC Micro? Агат им тоже умеет притворятся. А если один компьютер является "клоном" сразу двух
совершенно разных систем, то это уже не клон, а ребёнок :) Американцы, которые особенно ревностно относятся к Агату, как клону
Эппла, прийдут к логическому противоречию и наконец-таки успокоятся :)
Чего и вам желаю (всмысле под их дудку не петь) и еще желаю хорошего эмулятора (от души).
С уважением и робкой надеждой на взаимность.
ок. программа-максимум -- сделать на Internet Archive раздел с софтом под Агат, так же, как там сделано с Apple ][ -- эмулятор запускается прямо в браузере. т.е. MAME компилируется в javascript и запускается, никакой правки кода не требуется.
видео для привлечения внимания:
https://www.youtube.com/watch?v=GM-m_zzhayc
да ну?
я думаю, что со временем я таки разберусь, как и почему работает logic state sequencer на 840к контроллере, и все будет хорошо. пока что его эмуляция работает паршиво (много сбоев синхронизации, хотя MFM поток вроде бы декодируется), и чтобы запустить хотя бы что-то (Алису в стране чудес), сделана затычка.
Да я не о планах и идеях. Сформулировать в смысле понять что за систему вы эмулируете. До тех пор пока вы думаете что это тот же эпл но с всякими бонусами - толку не будет. Клон это когда почти все совпадает. А у Агата что совпадает с эпл? Только то, что погоды в архитектуре не делает.
А вот характеристики которые как раз и определяют архитектуру - различаются. Ну это ладно, видимо вы просто не поняли о чем я, или у вас жуткое желание угодить иностранным коллегам (хотя я бы считал для себя унизительным принимать их точку зрения если я знаю что она ошибочна).
Кроме того мне странно что вы постоянно спрашиваете подробности об агате, по вашему он же по архитектуре эпл, а книжек о эпл много, там разве не пишут о архитектуре ? :)
Лучше всего так - вернемся к этой тебе через год.