Бит 1 порта 1FFD будет совместимо с Pentagon 1024sl v1.4, там оно зовется защищенный режим. Прикол в том что глюку и тырдосу будет доступна вся память даже в режиме 128к, будет работать рамдиск и его не смогут повредить
Вид для печати
Так может быть организован доступ к EEPROM:Цитата:
Сообщение от Дмитрий
PS. EEPROM может быть больше чем 256 байт.Код:; Чтение байта из ячейки EEPROM
; Вход: HL -> ADR_eeprom
; Выход: C = (ADR_eeprom)
; CY = 0 - OK
rd_eeprom:
call set_adr ; Задать адрес EEPROM
ret c ;Выход с ошибкой
; Задан адрес ячейки EEPROM в контроллере
ld a,055h ; код доступа
in a,(0FEh)
ld a,"R" ;Команда чтения EEPROM
in a,(0FEh)
; Контроллер ждет чтения двух половинок байта
in a,(0FEh)
rlca
rlca
rlca
rlca
and 0F0h ;ст. нибл данных
ld c,a ;сохранить
in a,(0FEh)
and 0Fh ;мл. нибл данных
or c
ld c,a ; байт данных из EEPROM
ret ; CY=0
;-------------------------------------------
; Запись байта в EEPROM
; Вход: HL -> ADR_eeprom
; C -> (ADR_eeprom)
; CY = 0 - OK
wr_eeprom:
call set_adr ; Задать адрес EEPROM
ret c ; Выход с ошибкой
; Задан адрес ячейки EEPROM в контроллере
ld a,055h ; код доступа
in a,(0FEh)
ld a,"W" ; Команда записи в EEPROM
in a,(0FEh)
ld a,c ; Байт данных
in a,(0FEh); Записать
ret ; CY=0
;-------------------------------------------
; Задать текущий адрес ячейки EEPROM.
; После операций чтения/записи
; происходит авто-инкремент текущего адреса.
set_adr:
ld a,055H ;Код доступа
in a,(0FEh) ; байт ответа
and 1Fh ; маска
cp 0Ah ; должен прочитаться 0Ah
scf ; CY=1
ret nz ; Иначе выход с ошибкой
; Контроллер откликнулся
ld a,"A" ;Команда задания адреса
in a,(0FEh)
ld a,L ;Мл.Байт адреса
in a,(0FEh)
ld a,H ;Ст.Байт адреса
in a,(0FEh)
xor a ; CY=0
ret ; Выход без ошибки
;==============================================
имхо, лучше и проще всего изменить драйвер часов именно в ПрофПЗУ и часы в СМУКе на глюковские. Объясню почему:
1) аппаратное управление в глюкочасах сделано всё-таки более грамотно чем в СМУКе
2) в ПрофПЗУ насколько понимаю, никаких завязок на часы кроме времени нету, т.е. остальная память часов не юзается, а значит заменить драйвер просто.
Mick дизасмил ПрофПЗУ и вроде наковырял там все дрова, и на мой непрофессиональный взгляд заменить драйвер часов там просто. И останутся на Спеке токо одни часы.
БК-0010, ты будешь патчить провпэ под новые часики? я нет :) я на глюк подписался и то в ущерб другим заботам...
БК-0010, унифицировать-то оно хорошо... но! сомнительное это мероприятие, корячить профпэ...
Лас, он имеет в виду, чтоб D4 1FFD был равен 0.
Только смысл какой в этом?размер диска 512кб?
---------- Post added at 19:55 ---------- Previous post was at 19:54 ----------
даже нет... 384кб...