Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Как отследить LOAD ""... (http://zx-pk.ru/showthread.php?t=6063)

ram_scan 3rd September 2007 14:18

А нестандартный загрузчик все равно загружается стандартной процедурой. главное "виртуальную ленту" запустить, а там нехай грузится чем хочет.

Sonic 3rd September 2007 14:58

Хм логично. А останавливать как будешь? Или фиг с ней?
Кстати можно еще и сделать автоматическое позиционирование на заданный файл, путем перехвата именно команды LOAD"..." и просмотра указанного имени файла.
Еще надо подумать как быть с дозагружаемыми уровнями. В этом случае надо ленту запускать, останавливать, да еще и позиционировать.

Lethargeek 3rd September 2007 15:08

Quote:

Originally Posted by ram_scan (Post 100047)
А нестандартный загрузчик все равно загружается стандартной процедурой. главное "виртуальную ленту" запустить, а там нехай грузится чем хочет.

Не, так нельзя, остановки же могут быть, менюшки промежуточные, дозагрузки...

Quote:

Originally Posted by Sonic (Post 100021)
Именно LOAD"", а точнее запуск процедуры TAPE_LOAD можно отследить по выборке команды из основного ПЗУ по адресу 1366 десятичное. Существующие импортные разработки (DivIDE и пр.) именно так и делают. В более общем случае (нестандартные загрузчики и пр,) - никак.

А как же эмуляторы правильно обеспечивают автостарт/автостоп нестандартных загрузчиков? Имхо явно отлавливать "IN 254" по ZX-BUS, если порт начал опрашиваться подозрительно часто и периодично - врубать мафон, перестал опрашиваться - вырубать.

Перехват LOAD"" фтопку.

Vitron 3rd September 2007 16:03

Я думаю нужен еще более совершенный способ, который будет 100% совместим с любыми программами обращающими по out 254, чтобы небыло ложных срабатываний...(если не ошибаюсь) нужно отлавливать комплексно ловя несколько стандартных подобращений к процедуре еще до ее запуска....

Lethargeek 3rd September 2007 16:39

Quote:

Originally Posted by Vitron (Post 100059)
нужно отлавливать комплексно ловя несколько стандартных подобращений к процедуре еще до ее запуска....

Зачем же такие сложности? Главное - не остановить раньше времени. ;)
Если запоздали на пилоттон следующего блока, ничего страшного, потом дадим его сначала.

Хотя могут быть сильно извратные защиты с замеряемыми паузами - с ними эмуляторы справляются только в режиме "без ускорения и без автостарта/стопа", и то если tzx корректный.

А лучше напишите автору SPIN-а, он походу главный гуру и первопроходец в этой области.

ram_scan 4th September 2007 08:34

Quote:

Originally Posted by Lethargeek (Post 100054)
Не, так нельзя, остановки же могут быть, менюшки промежуточные, дозагрузки...

А как с живого магнитофона делается ? Все вручную. Форматы типа tzx допускают паузы, плюс там как правило дозагрузки идут моноблоком, то есть один файл - гейма целиком. С этим никаких проблем не возникает. А tap файлы - так с ними и в эмуляторах не все шоколадно.

Lethargeek 4th September 2007 08:52

Quote:

Originally Posted by ram_scan (Post 100221)
А как с живого магнитофона делается ? Все вручную. Форматы типа tzx допускают паузы, плюс там как правило дозагрузки идут моноблоком, то есть один файл - гейма целиком. С этим никаких проблем не возникает. А tap файлы - так с ними и в эмуляторах не все шоколадно.

Фигня какая. Навскидку даже и не вспомню, чтобы в каких-то играх с догружаемыми уровнями возникали проблемы с автостартом/стопом, на сколько бы мелких блочков ни был разит один догружаемый уровень (потому что загрузчики уровней как правило не наворачивались, вот для хитрых загрузчиков основного блока или просто целиком загружаемых игрушек изредка приходилось автостоп отключать), вручную - только на начало приходилось перематывать после GAME OVER. А tap-файлы "по определению" наименее проблемные из всех.

ram_scan 5th September 2007 10:21

TAP файлы наименее проблемные только потому что они наиболее стандартные. Если грузить tap файл нестандартной процедурой, но загружающей стандартный формат, то тут как раз в эмуляторах и возникают основные грабли и с автостартом, и с остановкой виртуальной ленты.

Через стандартную точку входа то все на ура эмулируется.


All times are GMT +4. The time now is 15:41.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.