Важная информация

User Tag List

Страница 7 из 13 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 122

Тема: #3d2f или #3d30?

  1. #61
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,751
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мда? Сколько помню, везде (в отечественной литературе) упоминалось, что они не правились потому, что много программ использовали процедуры ПЗУ. И высказывалось мнение, что лучше было бы сделать аналог керналя Амиги с точками входа.

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    И высказывалось мнение, что лучше было бы сделать аналог керналя Амиги с точками входа.
    Я так думаю, что не были сделаны точки входа по следующим причинам:

    1)Комп задумывался как обучающий для школьников начальных классов, разработчики и сам синклер не предполагали, что будет писаться некий софт, которому потребуется вызовы из ПЗУ. Т.е. делали "игрушечную" машинку, а не серьезный аппарат;
    2)Т.к. в ПЗУ находится бейсик, а не BIOS то делать точку входа с парсингом номеров функций не особо осмысленно. Да, ПЗУ состоит (условно) из 2х частей: интерпретатор бейсика и системные процедуры (это условно в литературе называют собственной ОС спектрума или SOS). Но эта SOS она представляет собой просто набор нескольких процедур, нет там деления на классы или уровни. Мешанина процедур.
    А точки входа были сделаны в ПЗУ +3DOS там такое деление есть

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  4. #63
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Я так думаю, что не были сделаны точки входа по следующим причинам
    Насколько я помню, причина одна: рекомендация использования кода ПЗУ для уменьшения объема кода программ. И этот подход при всех своих недостатках имел успех. Правки вносить было нельзя из-за использования кода ПЗУ в самых экзотических целях, например, для расшифровки кода приложения, затирания по ldir: ret почти всей памяти и так далее. Saboteur 2, к примеру без зазрений совести использует код буквы "C" по ардесу #000f для печати первой буквы имени ракеты.

  5. #64
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    рекомендация использования кода ПЗУ для уменьшения объема кода программ.
    Ты противоречишь сам себе. Если бы рекомендовали использовать ПЗУ, то как раз таки были бы сделаны точки входа, по которым имелся бы осмысленный и нужный сервис.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  6. #65
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,775
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Правки вносить было нельзя из-за использования кода ПЗУ в самых экзотических целях, например, для расшифровки кода приложения, затирания по ldir: ret почти всей памяти и так далее. Saboteur 2, к примеру без зазрений совести использует код буквы "C" по ардесу #000f для печати первой буквы имени ракеты.
    похожая ситуация есть в игре `defender of the crown`.
    там #FF`ами из ПЗУ печатается полоса которая выделяет пункт в меню,
    а в 128 там другие байты и на экране естественно `мусор`

  7. #66
    Veteran Аватар для savelij
    Регистрация
    23.03.2007
    Адрес
    г. Сухиничи, Калужская обл.
    Сообщений
    1,793
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я с вас удивляюсь что вы тут обсуждаете. Все эти привязки к тырдос пзу не более чем вые..анки адаптаторов. Какое нафиг использование привязки к тырдос пзу. Оригинальные игры про тырдос ничего не знают и соответственно никак к нему не привязаны. За такие выкрутасы этим самым адаптантам нужно руки поотбивать по самую шею.

    Скрытый текст

    Profi 4.02 512k
    Profi 5.04 1024k нижняя плата здесь
    Scorpion 256k+ProfROM+SMUC 1.3+SMUC 2.0+ZXMC2
    Pentagon v2.2+Z-controller+ZXMC2+NeoGS
    АТМ 7.10 1024k
    Pentagon 2.666LE
    ZX Evolution 4Mb rev B
    [свернуть]


    Извещение лички отключено, захожу редко.

  8. #67
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,824
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    похожая ситуация есть в игре `defender of the crown`.
    там #FF`ами из ПЗУ печатается полоса которая выделяет пункт в меню,
    а в 128 там другие байты и на экране естественно `мусор`
    Я помню, автор это фиксил кстати в DotC 30 Anniversary edition. Который по-моему так и не вышел в общий доступ.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  9. #68
    Member Аватар для Faster
    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В связи с переживанием владельцев SMUC, а также для остальных заинтересованных лиц:

    Проверка наличия SMUC:
    Код:
    	LD	A,(#8)
    	CP	#C3
    	JR	NZ,NO_SMUC
    	LD	BC,#1FFD	;порт конфигурации scorpion'а
    	LD	A,#2
    	OUT	(C),A		;включаем пзу монитора (rom 2)
    	LD	A,(#F1)		;код версии пзу
    	OUT	(C),0		;отключаем пзу монитора
    	CP	#5E
    	JR	C,NO_SMUC	;в пзу нет поддержки hdd
    	LD	SP,TABLE
    	LD	HL,#3D2F
    	LD	BC,#FFBE
    	JP	(HL)
    LL_00	INC	A		;#ff??? - если регистр состояния
    	JR	Z,NO_SMUC	;пуст, то smuc отсутствует
            ...
    
    TABLE	DW	#3FF3,LL_00
    Проверка наличия HDD:
    Код:
    	LD	HL,WORKBUF
    	LD	C,#9		;setwrk
    	RST	8
    	DB	#81
    	LD	C,#22           ;$hddid
    	RST	8
    	DB	#81
    	JR	C,NO_HDD
            ...
    
    WORKBUF	DS	#200
    Проверка с какого устройства запущена программа (физический диск или виртуальный образ):
    Код:
    	LD	A,(#8)
    	CP	#C3
    	JR	NZ,FDD
    	LD	BC,#1FFD	;порт конфигурации scorpion'а
    	LD	A,#2
    	OUT	(C),A		;включаем пзу монитора (rom 2)
    	LD	A,(#F1)		;код версии пзу
    	OUT	(C),0		;отключаем пзу монитора
    	CP	#5E
    	JR	C,FDD		;в пзу нет поддержки hdd
    ;-
    	LD	SP,TABLE	;тест устройства (по исходникам MOA)
    	LD	HL,#3D2F
    	LD	BC,#7FBA
    	JP	(HL)
    LL_00	LD	C,A
    	LD	A,(#5CF6)	;дисковод
    	CP	#2		;"c","d"
    	JR	NC,HDD		;эмулятор
    	DEC	A
    	JR	Z,$+#8
    	BIT	7,C		;"a"
    	JR	Z,HDD		;эмулятор
    	JR	FDD
    	BIT	6,C		;"b"
    	JR	Z,HDD		;эмулятор
    FDD     ...
    
    TABLE	DW	#3FF3,LL_00
    Используя эти исходники, можно в своих загрузчиках использовать как турболоадеры, так и обычные лоадеры, автоподстраиваясь под устройство.
    Когда на твой вопрос отвечает философ, перестаешь понимать вопрос

  10. #69
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть еще TR-DOS 5.30, 6.XX.

  11. #70
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Если бы рекомендовали использовать ПЗУ, то как раз таки были бы сделаны точки входа, по которым имелся бы осмысленный и нужный сервис.
    Ну четыре таких точки все же сделали #0008, #0010, #0028, #0038. А, вообще, повторюсь, что можно использовать любой доступный набор байтов любым угодным способом, потому как ПЗУ неизменно.
    Цитата Сообщение от savelij Посмотреть сообщение
    Какое нафиг использование привязки к тырдос пзу.
    А никто и не говорил, что авторы TR-DOS обещались ничего в ПЗУ не менять и позволяли использовать его код как угодно. Есть несколько стандартных точек входа - их и можно использовать без потери совместимости. Все остальное - для авторов, готовых на одну из двух возможностей: слушать про себя матерные отзывы или писать крупными буквами, что их вресия работает только на TR-DOS X.YZ и может убить диск при использовании другой версии TR-DOS (и слушать чуть менее матерные отзывы обладателей других прошивок, на которых идет софт от нормальных авторов). В моем понимании использование нестандратного кода TR-DOS оправдано только для разработки хитрых дем для "посмотрите как я умею" или для написнаия (перекрестившись) сервисных тулов, для работы которых авторы TR-DOS не сделали точек входа.

Страница 7 из 13 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Помогите изменить прогу под 3d2f для 3d13.
    от John North в разделе Программирование
    Ответов: 7
    Последнее: 04.12.2011, 22:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •