Да, изменение буквы диска работает только в сервисе. В реальном ТРДОСе рамдиск всегда С.
Вид для печати
Да, изменение буквы диска работает только в сервисе. В реальном ТРДОСе рамдиск всегда С.
А как объяснить выход из реалкома в реальный дос? Тама ведь тож буква А.
Я не знаю механизма присвоения буквы рамдиску. Можешь считать, что он во всех случаях С, за исключением загрузки и запуска из ресетсервиса.
Ну тогда я всё равно не пойму механизма взаимодействия с реалкомом...
Я попросил народ в соседней теме переименовать рамдиск на букву А по умолчанию.
---------- Post added at 21:09 ---------- Previous post was at 21:07 ----------
А как тебе вообще впечатления от ресетсервиса? Очень удобно все манипуляции делать мышкой. И мегабыстрая загрузка с карты в рамдиск.
---------- Post added at 21:10 ---------- Previous post was at 21:09 ----------
Управление турбиной из меню не будет. Слишком коряво оно сделано в КАЕ, записью во второй бит порта 1FFD. Лучше оставить нашу кнопочку F9
Прикрутил I2C контроллер для PCF8583. Аппаратная обвеска теперь полностью поддержана.
Переключаюсь на корку FDC.
Осталось написать программку установки времени для PCF8583 под TRDOS.
Обновил конфигурацию.
Пример чтения из PCF:
Код:;-----------------------------------------------------------------------------
; I2C PCF8583
;-----------------------------------------------------------------------------
; Ports:
; #8C: Data (write/read)
; bit 7-0 = Stores I2C read/write data
; #8C: Address (write)
; bit 7-1 = Holds the first seven address bits of the I2C slave device
; bit 0 = I2C 1:read/0:write bit
; #9C: Command/Status Register (write)
; bit 7-2 = Reserved
; bit 1-0 = 00: IDLE; 01: START; 10: nSTART; 11: STOP
; #9C: Command/Status Register (read)
; bit 7-2 = Reserved
; bit 1 = 1:ERROR (I2C transaction error)
; bit 0 = 1:BUSY (I2C bus busy)
; HL= адрес буфера
; B = длина (0=256 байт)
; C = адрес
I2C_GET LD A,%11111101 ; START
OUT (#9C),A
LD A,%10100000 ; SLAVE ADDRESS W
OUT (#8C),A
CALL I2C_ACK
LD A,%11111110 ; NSTART
OUT (#9C),A
LD A,C ; WORD ADDRESS
OUT (#8C),A
CALL I2C_ACK
LD A,%11111101 ; START
OUT (#9C),A
LD A,%10100001 ; SLAVE ADDRESS R
OUT (#8C),A
CALL I2C_ACK
LD A,%11111100 ; IDLE
OUT (#9C),A
I2C_GET2 OUT (#8C),A
CALL I2C_ACK
IN A,(#8C)
LD (HL),A
INC HL
LD A,B
CP 2
JR NZ,I2C_GET1
LD A,%11111111 ; STOP
OUT (#9C),A
I2C_GET1 DJNZ I2C_GET2
RET
; Wait ACK
I2C_ACK IN A,(#9C)
RRCA ; ACK?
JR C,I2C_ACK
RRCA ; ERROR?
RET
Программка для установки времени в PCF8583