В доках написано, что этот регистр 'резерв'. Есть про него подробности?
Вот хорошо бы перенести те файлы инициализации, которые устанавливают скорость перемещения головки быструю из системы с играми в другие системы.
Вид для печати
Ну документации везде верить нельзя. Многое там не описано или написано неверно. Верить можно только реальной машине.
А сам регистр работает в двух режимах - в режиме входов (бит 8 регистра 177700 равен 0) и режим выходов (бит 8 регистра 177700 равен 1). Классически при работе в режиме входов к нему подключены линии Y клавиатуры. По линиям X в режиме опроса идет бегущий ноль, от X0 до X7, соответственно через нажатые клавиши он попадает на линии Y, там будет читаться единица с соответствующего бита. Сама клавиатура подключена только к линиям с Y4 (только СТОП) по Y15. На линию Y3 выводится перемычка контроллера дисковода. Линии с Y0 по Y2 не используются. Линия Y0 выведена на бит 15, Y1 - 14, ну и Y15 - 0.
Пример: на линии X3 - бегущий ноль, нажаты клавиши ГРАФ и R, значит будут установлены в единицу биты 9 (Y6) и 3 (Y12).
А зачем переносить? Реализовать перемычку, а системное ПЗУ при старте само инициализирует нужные ячейки.
И какого же назначения этот регистр? Ты описал влияние на какую-то перемычку (где она на плате установлена), и оказывается он еще связан с регистрами клавиатуры. Значит биты 0-7 - это данные, 8 - направление, 12 - состояние перемычки. Все?
Где-нибудь этот регистр для опроса клавиатуры используется?
Может еще есть какие-то регистры, не описанные в документации?
Регистр 177700: состояние клавиатуры;
бит 6 - разрешение прерывания;
бит 7 - готовность клавиатуры;
бит 8 - режим регистра 177704, 0 - на чтение линий Y, 1 - на вывод на линии Y.
Регистр 177702: данные клавиатуры;
биты с 0 по 3 - код по линии Y;
биты с 4 по 6 - код по X, при отжатии всегда равен нулю;
бит 7 - клавиша нажата (0), отжата (1).
Регистр 177704: линии Y
бит 0 - линия Y15;
......
бит 15 - линия Y0.
Частным случаем является линия Y3 (бит 12) - перемычка контроллера дисковода.
---------- Post added at 19:50 ---------- Previous post was at 19:49 ----------
В системном ПЗУ только для чтения состояния перемычки контроллера дисковода при старте.
---------- Post added at 19:51 ---------- Previous post was at 19:50 ----------
Естественно чего нибудь и есть, сразу так всего и не вспомнишь.
ASPcorp.
Сильно подозреваю, что EmuStudio единственный на сегодняшний день эмулятор позволяющий запустить и поиграть именно в оригинальные версии этих игр (под КГД для ДВК) (!)
1 - А сколько этих игр вообще 5 или 6 ? Получается всё таки 6(!)
2 - Все оригиналы на системной дискете с эмулятором? Вроде все )))
Авторы вот этих строк утверждают, что всего их было пять (!)
Скрытый текст
Код:*** GARDEN ***
=== САД ===
Эта игра - одно из пяти творений ASPcorp. , ставших классикой
советских компьютепных игр.
Код:=== LAND ===
Эта игра - одно из пяти творений ASPcorp. ,ставших клас-
сикой советских компьютерных игр.
Код:=== NEW SHERIFF ===
Эта игра - одно из пяти творений ASPcorp. , ставших классикой со-
ветских компьютерных игр.
Код:=== PIFPAF ===
Эта игра - одно из пяти произведений ASPcorp. ,ставших классикой
советских компьютерных игр.
Код:*** WERT ***
или
*** MILITARY MARATHON ***
или
=== ВОЕННЫЙ МАРАФОН ===
Эта игра - одно из пяти творений ASPcorp. , ставших классикой
советских компьютерных игр.
[свернуть]
Можно попробовать их сосчитать, Titus пожалуйста поправь если
я ошибся:
1 - LAND (на системном диске есть оригинальная версия для КГД ДВК)
2 - SHERIF (так-же присутствует на диске с эмулятором)
3 - PIFPAF (то же есть там)
4 - GARDEN (есть после последнего обновления)
5 - AFGAN (игра про вертолёт есть на диске)
А как быть с CASTLE ??? Считать её переделкой Шерифа? Или записать
с Шерифом в одну позицию, на диске с эмулятором она лежит как SHERI2
Не смотря на почти 100% схожесть по сюжету, заставки у игр разные и
мешочки-враги изображены по разному, до конца дойти не хватает терпения, но возможно и ГЛАВНЫЙ ВРАГ на крыше то же другой???
Тогда игра пойдёт отдельной строкой
6 - SHERI2(CASTLE)
Благодаря данному эмулятору появилась возможность поиграть и собралась "рабочая" коллекция оригинальных версий этих игрушек. Ура!!! (три раза)
:redface:
Я тоже не знаю, разделять Шерифа и Castle на две разные игры, или же как просто разные подверсии одной и той же. Все же больше склоняюсь к двум разным.
Land'ов было очень много на ДВК, версий 5, не меньше. С разными лабиринтами и т.д. Так же был отдельно редактор уровней, который позволял сделать свою игру. Только не помню, редактор был под ДВК или УКНЦ.
Так же существует версия Land'а под КЦГД многоцветная, а так же несколько версий переделок под КЦГД простым сжатием по вертикали, т.к. КЦГД имеет меньшее разрешение по высоте, из-за чего графика в игре стала смотреться менее красивой. Все эти версии должны быть в твоем архиве, т.к. я тоже их качал у наших ДВК'шников.
Land точно был портирован на УКНЦ, БК, Специалист. Причем на УКНЦ тоже ходит много версий, с разными уровнями, разными глюками, и даже разной компоновкой экрана.
Cat точно был портирован на УКНЦ, БК.
PifPaf на УКНЦ и БК.
Wert - портирован на УКНЦ двумя разными версиями как минимум.
Шерифы, Кастле и Гарден тоже портированы.
Причем в архивах есть Гарден с битыми уровнями, и шериф с битыми уровнями.
Еще под КГД есть такие графические игры, как Moto - гонки на мотоцикле по псевдо-3D дороге; Chess - графические шахматы, причем используют и текстовый экран КСМ тоже; Digger; Кот-рыболов - не менее двух версий; Графический питон. Больше пока не припомню.
---------- Post added at 03:34 ---------- Previous post was at 03:29 ----------
Хорошо бы послушать самого легендарного ASP Corp'а, ведь именно в его игры мы заигрывались в школе, т.к. они были почти единственные на УКНЦ)
Titus, можно попросить сделать вас так что если в папке эмулятора находятся 2 диска (один "System.dsk" и второй "System2.dsk") то диск system автоматически помещался в первый дисковод, а диск system2 соответсвенно во второй дисковод.
и ещё хочется узнать будет ли когда-нибудь в вашем эмуляторе добавлен звук ?
Редактор уровней ... Я таких слов-то не знал в 90-м году, что не помешало мне распечатать DUMP игры Digger, разобрать как задается уровень и сделать свой вариант игры ;-) Все новые уровни рисовались сначала на бумаге :-) Кстати, в диггере есть хитрый элемент - он выглядит как обычный грунт, но если сверху на него падает мешок с золотом, то этот участок пробивается и мешок падает дальше. Я так целые ловушки конструировал для сбрасывания золота на преследующих злыдней ;-)
Когда-то я писал редактор уровней для LAND, а также загрузчик уровней.
Эти файлы есть на диске GAME2.DSK, здесь выкладывался.
Редактор LND.SAV - позволяет создавать, редактировать и распечатывать (печать сделана только под Robotron) уровни. Уровни хранятся в файлах с расширением .LND. В одном файле - 15 уровней. Также редактор позволяет перетаскивать уровни из .SAV-файлов, поддерживает только игры с 11-ю и 15-ю уровнями.
Загрузчик LLAND.SAV представляет собой обычный LAND с поддержкой 15 уровней, к которому добавлена командная строка для ввода имени файла, ну и загрузчик, который их грузит и запускает собственно LAND.
К великому сожалению исходники потерялись, хотя у LLAND как таковых исходников не было, написал загрузчик, перевел вручную в машинный код и набил в DESS-е.
Выкладывайте Диггер и Land с редактором, пожалуйста)
---------- Post added at 15:28 ---------- Previous post was at 15:10 ----------
Да можно и так. Или, например, как предложил Patron MZ0.dsk, MZ1.dsk. Или же System.dsk и Work.dsk. Или System.dsk и Games.dsk )
А вот со звуком проблемы. Ввиду того, что эмулятор заточен прежде всего под синхронную работу с кадровой разверткой, которая для него является времязадающей, появляются сложности синхронизации между звуковой картой и кадровой разверткой. Т.е., например, частота семплирования выбирается 48000кГц, а частота кадров 60.00Гц. Вроде все понятно, что за один кадр будет выведено 800 отсчетов. Но это только в теории. На практике же звуковая карточка и видеокарточка могут тактироваться от совершенно разных генераторов, и ни о какой гарантированной синхронности их работы речи быть не может, а стало быть звук или уедет вперед, или отстанет. Некоторые системы синхронизации я придумал, но они слишком сложные для реализации, много надо переписывать)
Так же, пока что не нашел внятного ответа на вопрос, как заставлять процесс засыпать до прихода VBlank. Сейчас это делается извращенным способом, отьедающим 20-30 процентов быстродействия компьютера. Т.е. эмулятор засыпает, и каждую миллисекунду просыпается и смотрит, а не близко ли луч уже к низу экрана? Если близко, то берет процессор в свои руки, и тщательно следит, пока не достигли VBlank'а. Так не годится.
Если редактор LAND, то здесь. Кстати некоторые файлы .LND там битые, хреново дискетка считалась, но их можно восстановить из оригинальных LAND-ов.
Судя по рисунку русалки, в игру надо играть на светлом фоне, а не на темном.
http://s018.radikal.ru/i512/1202/19/d2f9b3033bb4.png
http://s017.radikal.ru/i414/1202/8c/7dd6a249ebf2.png
---------- Post added at 15:43 ---------- Previous post was at 15:41 ----------
Может просто считать нормально дискету?
И из каких оригинальных и как их восстановить?
Да уж пробовал дискету читать и на УКНЦ и на PC, не читаются некоторые сектора, даже переделанный ukdsk не поможет. Но у меня есть копии дискет еще с НГМД-6022, т.е. 40-дорожечные, надо внимательно поглядеть.
А оригинальные - это LAND*.SAV. LND позволяет перетаскивать из .SAV-файлов в .LND-файлы. Достаточно запустить LND.SAV и в ответ на промптер "LND> " просто нажать <Enter>, выведется краткий хелпинг.
Русалка? ))) Это бонус, а второй мужик кто? )))
Это финал Castle если не ошибаюсь? Я смутно помню в шляпе мужика злого в финале Sherifa - могу и ошибаться конечно.
Alex_K, есть ваш редактор на многих образах, он по школам разбежался в своё время как и (пример) недопиленный Зеленоградцами АРКАНОИД (!). Уточните тогда в каком примерно году - разрабатывалось и видимо для УКНЦ-only ? А описания - инструкции к нему нет?
Titus, я покопаюсь сегодня найду - была дискета с нормально считанными передлками Land и + редактор, но только для УКНЦ там всё.
Вот эту версию предлагаю на system.dsk добавить - уровни стандартные, выглядит мнохромом, но в консоли видно в каком режиме идёт, подписан Автором и на русском )))
Скрытый текст
консоль когда игра стартанула
http://savepic.net/2432640.png
заставка после первой (рус!!!)
http://savepic.net/2425472.png
уровни не правленые, но файл весит больше,
около 60-блоков по RT-шному )))
http://savepic.net/2437760.png
[свернуть]
Единственный момент, на скринах может и не видно,
верхняя строка исчезает почему-то, посмотришь?
В Sheriff-е вместо русалки американский флаг развевается, дойду - выложу скриншот. Хотя дойти до конца в этих играх - максимум 10 минут.
Какие школы? Я уже учился в институте, у меня был личный УКНЦ с дисководами и принтером. Живу я в поселке в Ленобласти, контактировал по УКНЦ только с Лугой, там был центр творчества юных, там же и чинили УКНЦ (мне пару раз на контроллере дисковода 1801ВП1-128 перепаивали). Так что от меня в принципе никуда разбежаться не могло. А году писал в 1993, там же при запуске указано.
Краткая помощь в редакторе есть при запуске. При запуске можно указать имя файла, он сразу откроется или создастся (если его нет). Если имя файла не указано, то выведется промтер "LND>". Нажав <Enter>, можно получить краткую помощь по командной строке. Выход с командной строки в RT-11 - УПР+Ц.
В самом редакторе тоже помощь есть. Не описаны некоторые быстрые клавиши:
3/# - поставить кирпичную непробиваемую стенку;
H/Х - поставить сундук;
M/М - поставить пробиваемый пол (через который падаешь сверху);
-(минус) - поставить пробиваемую целую стенку;
=(равно) - поставить пробиваемую пробитую стенку;
8/( - левая часть двери;
9/) - правая часть двери;
[ - левая часть лестницы;
] - правая часть лестницы;
{ | } ~ - разные части биомассы;
_(подчеркивание) - разместить биомассу от курсора до первого препятствия.
Биомасса, а я думал, что это огонь. Наверно навеяло из фильма "Через тернии к звездам".
это спорный вопрос ))) я не могу в них играть в принципе, если честно как и во все поделки ASPcorp - кроме PIFPAF ))) Но в коллекционном плане меня все игры и софт интересуют для УКНЦ и ДВК ))) Единственный уровень, который сам прошёл в LAND - это вот крест на скриншоте который, остальные нет!!! Всегда был более "правильный" Lode Runner под рукой, сначало на БК0010
Скрытый текст
ИМХО: Там и редактор тебе сразу и идеальный геймплей и возможность уровни сохранить так-же была, а потом и на УКНЦ в 90-х то же уже был Lode Runner ))) (см. ITO90) (!)
Значит писали для себя ? Возможно я и ошибся (ложная память) )))
я прилепил к сообщению именно потому, что возможно и есть ))) а возможно и нет))) надо уточнять, но если ты добавишь на system.dsk к эмулятору - хуже не будет, верно? +1 игра ASPcorp на дискету к EmuStudio, почему нет? )))
---------- Post added at 16:59 ---------- Previous post was at 16:59 ----------
в детстве называли это "лавой"
---------- Post added at 17:02 ---------- Previous post was at 16:59 ----------
Тут я видимо "Америку не открою", но посмотрите сами - все проекты от ASPcorp просто идеально можно было реализовать на игровых автоматах, ну учитывая реалии тех дней, но вот не сложилось почему-то )))
Шериф действительно трудноватый (для меня), а в Land прекрасно можно играть (на должной скорости), очень качественная игра, еще в школе заигрывались. Из-за него и написал эмулятор) Вернее, сначала искал, нет ли Land'а под другие компы, оказалось, что есть, но не с теми уровнями. Пришлось тогда написать эмулятор УКНЦ и поиграть в оригинал. В Garden, кстати, тоже при желании можно поиграть, ничего так играется. В Wert играть можно, но как-то однобразновато. Но тоже из моих школьных любимых игр.
Ну в ASP-шные игры на ноутбуке без ДКЛ-клавиатуры играть действительно не очень просто. А Sheriff оказался чуточку посложнее Castle.
Сделал все так, как ты сказал, теперь есть TRAP'ы при отсутствия доступа ПЗУ или ОЗУ на чтение или запись, но все равно с ITO'шными игрушками, которые начинаются с записи 0x0001 в регистр управления памятью, ничего не изменилось. Видимо, причина не в этом.
Турбобейсик проверил - работает.
Какие еще программы используют маппинг памяти PPU? Особенно интересуют те, которые отключают ПЗУ в окне.
Alex_K, может вам поможет момент с опытом в UKNCBTL где ITO подвисали в стартовом меню вплоть до версии 1.9 июль 2010, а вот в следующей уже заработали ?
Потом целая серия улучшений последовала, но работоспособность этих сборников начилась именно с 2.0 беты ??? )))
Глюк довольно сложно выловить без внутреннего отладчика, надо знать где крутится программа, что делает или пытается сделать. А так только догадки.
Как я понимаю это с диска ITO90? Там действительно используется RAM-диск от Олега Ховайко. Может где неправильно реализовали?
Тут пока сложно сказать. Если пишут только 1, то включается системное ПЗУ в "окне", а также отключается на запись память, т.е. при записи в адреса 100000-176777 должен быть TRAP4.
Хотя дело может быть совсем в другом. Кроме как записи делается что-то еще, например работа с каналами 0, 1, 2. Как я уже писал у них чуть-чуть различается работа в режиме прерываний. Но это все только предположения. Если hobot, говорил, что с какого-то момента диски стали работать, то в svn можно глянуть какие были исправления, но только если это была та самая ошибка.
Проверил диск ITO90 в UKNCBTL от 21.03.2010. Все работает и грузится. Так что я пока в догадках.
---------- Post added at 23:47 ---------- Previous post was at 23:17 ----------
Ох, не заметил сразу. Да по этому адресу находится драйвер кассеты ПЗУ в системном ПЗУ. Что-то у Вас с каналом 2, раз при загрузке с дискеты все время в кассету ПЗУ лезут, да не должно быть такого.
И кстати на диске ITO90 есть только следующие команды, работающие с регистром 177054: BIS #400,@#177054 и BIC #400,@#177054. Т.е. они включают/выключают сетевой таймер в канале ПП.
Загрузил LODE RUNNER с ITO90. Ни разу не залез в драйвер кассеты ПЗУ.
Вообще, CPU зависает в цикле по адресу 157220, ожидая 65535*7 итераций появления нуля по адресу в R3 = 157346.
После того, как ноль так и не установлен, в PPU как раз идет вываливание в этот драйвер кассеты ПЗУ. После этого цикл ожидания нуля в 157346 повторяется снова, и так до бесконечности.
Проверил, существует ли этот цикл в играх, которые запускаются. Оказалось, что да, но исчерпывая счетчик, у них вываливания ППУ в драйвер кассеты не происходит.