User Tag List

Показано с 1 по 10 из 38

Тема: Определение типа компа и расширенной памяти.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #27

    Регистрация
    06.05.2019
    Адрес
    г. Подольск
    Сообщений
    108
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    ;		#1FFD		#7FFD
    ;Physical	D7	D4	D7	D6	D5	D4	D3	D2	D1	D0
    ;Logical	D4	D3	D5					D2	D1	D0
    ;		16	8	32					4	2	1
    Здесь показаны логические биты, которые должны стать физическими (фактическими) по задумке авторов и спецификации на KAY1024. В IS-DOS (например) это, согласно автору, соблюдено. На картинке тоже самое, согласно спецификации. В драйвере по другому используется эта таблица (старшинство логических битов изменено, походу). С эмулятором unreal не совпадает в половине случаев и с реальностью тоже. Драйвер для KAY1024 уже переписал, осталось всё проверить.

    Что за спецификация увеличения памяти для каждого клона?

    Ну как я понял, это какой бит по старшинству, по задумке авторов железа, идёт по очереди в банке для расширения памяти. Можно и в другой комбинации их использовать. Про соблюдение спецификации, здесь смысл такой. ОС (любая, наверно) работает с физическими банками, делает их логическими (в примитивной теории), согласно спецификациям. И, чтобы дешифрация совпадала у драйвера и ОС, нужно одинаковый алгоритм, при котором, у всех одна и та же логическая страница, одинаково дешифруется.

    Вот так совпало, с спецификацией.
    Код:
    rKAY1024                    ; KAY 1024
    	ld		e,a				; копия логической страницы
    		and		%00011000		; выделяем биты для порта #1FFD
    		sla		a		;8	; двигаем бит с D4 на D5, с D3 на D4
    		ld		d,a			; копия
    		sla		d		;8	; двигаем бит с D5 на D6
    		sla		d		;8	;			на D7
    		or		d			; соединяем D7 и D4
    		and		%10010000		; оставляем D7 и D4, мусор убираем	
    		ld		h,a			; копия физ.адреса для порта #1FFD
    		ld		bc,#1FFD		; порт страниц
    		out		(c),a			; данные в порт
    	ld		a,e				; 	логической страницы, оригинал
    		and		%00100000 		; бит D5 логической страницы оставляем
    		ld		d,a			; копия
    		sla		d		;8	; двигаем бит с D5
    		sla		d		;8	;		на D7
    		ld		a,e			; логической страницы, оригинал
    		and		%00000111		; оставляем D2, D1, D0
    		or		d			; соединяем бит D7 и D2, D1, D0
    		or		%00010000	; + BASIC48	;#10
    		ld		l,a			; копия физ.адрес для порта #7FFD
    		ld		b,#7F			; порт страниц
    		out		(c),a			; данные в порт
    		;?nop
    	ret
    lKAY1024   EQU $-rKAY1024
    Поиск пары физических адресов, с вызовом вот такой:
    Код:
    ;С - порядковый номер в массиве логических страниц (где они соответствуют физическим адресам)
    ;Проще, для нас страницы от 1 до 256 [0..255],
    ; в массиве свободные логические по спецификации клона, без исключённых
    bKAY1024
    		;ld		c,a			; можно в регистре С страницу передать
    		ld		b,0
    		sla		c			; умножение на два
    		ld		hl,TBL_Physical_RAM	; находим в таблице начало
    		add		hl,bc			;	физической пары страниц
    		ld		a,(hl)	;7
    		ld		bc,#1FFD
    		out		(c),a
    		inc		hl			; inc h, если выровнено по сегментам в 256Б
    		ld		d,(hl)
    		ld		a,(vVideoBankD3)
    		or		d
    		ld		b,#7F
    		out		(c),a
    		;?nop
    		ret
    eKAY1024		EQU		$-bKAY1024
    Последний раз редактировалось Biland; 03.09.2021 в 20:08. Причина: драйвер плюс

    Этот пользователь поблагодарил Biland за это полезное сообщение:

    Dart Alver(03.09.2021)

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

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

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

Похожие темы

  1. Ответов: 44
    Последнее: 22.06.2023, 18:03
  2. реанимация расширенной орель бк-08
    от strade в разделе Несортированное железо
    Ответов: 6
    Последнее: 07.02.2015, 00:00
  3. Определение текущего адреса
    от Alex Rider в разделе Программирование
    Ответов: 52
    Последнее: 26.07.2012, 13:38
  4. Ответов: 10
    Последнее: 12.09.2011, 19:12
  5. Определение Turbo-FM
    от Максагор в разделе Программирование
    Ответов: 21
    Последнее: 28.09.2007, 20:29

Ваши права

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