PDA

Просмотр полной версии : Орион-128: Реализация интерфейса с SD-card



Error404
25.01.2010, 15:31
Мне представляется, что вариант с SD/MMC надо делать уже сейчас. Думаю ewgeny7 закончив решать основные вопросы, сделает в контроллере максимальную тактовую частоту процессора и "стандартную" для совместимости с имеющимся программным наследием Ориона.


В эмулятор V1.05 добавлена эмуляция SD-card (SPI).
Пока эмулируется только базис основных команд, достаточный для реализации идентификации и записи/чтения на карту.
Спецификация на SD-карты тут. (http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf)

Что показывают очень приблизительные прикидки: размещение порта в адресном пространстве памяти (как это было бы на стандартном Орионе-128) при правильном программинге даст на 20-25% более высокую производительность, чем работа по IORQ (IN/OUT), за счет применения косвенной адресации порта SD-карты (однобайтовых команд LD вместо 2-байтовых IN/OUT).

Поддерживаются две схемы подключения:
1. Схема подключения SD-card совместимо по схеме с n8vem
http://n8vem-sbc.pbworks.com/browse/#view=ViewFolder&param=N8VEM%20Schematics
Вариант от N8VEM полностью программный и самый медленный.
http://orion-z.hoter.ru/images/n8vem_sd-mmc.gif

2. Схема подключения SD-card совместимо по схеме с MSX MMC-drive V1:
http://msx.retro8bits.com/sd-mmc-drive.html
http://orion-z.hoter.ru/image/347/26953_msx_sd-mmc.gif
В этой схеме добавлен сдвиговый регистр на чтение и автоматическое стробирование данных (клок карты), что дает некоторое ускорение.

При разнице в 3 микросхемы, эти варианты отличаются по быстродействию примерно в пять раз в пользу MSX.

На сегодня есть эмуляция (см. в подписи), и под ней работают тестовые примеры (изначально от N8VEM) в коде z80 для обоих схем (во вложении). В железе я ничего не проверял (реал поломан, ремонтировать лень - новый проще сделать: я рассчитываю таки дождаться Орион-2010, хотя бы и в 2010 году ;) )

P.S. В связи с долгостроем клон переименовался в Орион-2010 :) Ewgeny7.

В архиве во вложении схемы в нормальном качестве, исходники и бинарники простой программы для тестирования в версиях для CPM и ORDOS (эту программу в паре с mshell30.com под CPM или M128$/M256$ под ORDOS можно использовать как примитивный редактор диска :) )

27.03.2010
Релиз-кандидат CPM :) с поддержкой SD-карт скачиваем тут:
http://orion-z.mylivepage.ru/file/335/5706_GAMES-sd.zip

Грузить ОС с SD-карт можно при помощи загрузчиков рание уже опубликованных в этом посте:
http://zx.pk.ru/showpost.php?p=262906&postcount=31

Что нового в CP/M читаем тут:
http://zx.pk.ru/showpost.php?p=269861&postcount=35


14.04.2010
В CP/M добавлена нативная (включаемая штатно через IOBYTE) поддержка TTY (последовательной консоли RS-232 по стандарту Orion-2010 - порты 0F764, 0F765). Подробнее см. здесь:
http://zx.pk.ru/showpost.php?p=275608&postcount=851

b2m
25.01.2010, 16:02
Может, всё-таки, какой-то сдвиговый регистр присобачить?

Error404
25.01.2010, 17:07
Может, всё-таки, какой-то сдвиговый регистр присобачить?

Это зависит только от того, будет решение в большей степени только для Орион-2009 (в FPGА возможностей для маневра понятно больше), или же в том числе и для старого Орион-128. Т.к. собрать схему на 4-х ИМС (ИД14, ИР22, ЛE1, ЛП8) просто, и соответственно соберет ее любой, а схема с обособленным сдвигом на дискретных элементах уже будет сравнима по сложности с КНГМД, что собрать на макетке {к примеру для меня}, уже сложновато. Хотя, можно для этого присобачить внешний контроллер типа ATTINY, но это уже как-то не "old school". :)

С точки зрения программистики - разница в сложности реализации несущественна. Хотя, понятно, вариант со сдвигом побыстрее будет на порядок.

b2m
25.01.2010, 17:24
А ВВ51 не подойдёт?

Похоже, что нет, там стартовый и стоповые биты передаются...

Mick
25.01.2010, 18:34
А ВВ51 не подойдёт?

Похоже, что нет, там стартовый и стоповые биты передаются...

В синхронном режиме с внешней синхронизации не передаются :)
Я недавно схему с ВВ51 перекладывал на AVRку, вот только SPI и смог сэмулировать синхронный режим ВВ51.

caro
25.01.2010, 19:06
Может, всё-таки, какой-то сдвиговый регистр присобачить?Можно сделать по схеме, как в контроллере IDE_MMC для MSX:

Error404
25.01.2010, 22:13
Можно сделать по схеме, как в контроллере IDE_MMC для MSX:

Похоже, там регистр применен только в одном направлении - на чтение с карты? И тактирует сдвиг в регистре все равно сам хост командой LD reg,(portaddr+1)? Интересно было бы взглянуть - во что выливается в исходнике п\п чтения байта (сравнить сложность с самой простой реализацией)... Чего-то про этот вариант не гуглится...

caro
26.01.2010, 10:52
Интересно было бы взглянуть - во что выливается в исходнике п\п чтения байтаВот так реализованы операции чтения и записи байта:

;-------------------------------------
rd_mmc: push hl
ld hl, 6FFDh
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld a, (hl)
pop hl
ret
;------------------------------------
wr_mmc: push hl
ld hl, 6FFDh
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
ld (hl), a
rlca
pop hl
ret
;------------------------------------


Почитать можно здесь:
http://msx.retro8bits.com/sd-mmc-drive.html

Error404
26.01.2010, 13:00
Вот так реализованы операции чтения и записи байта:

;-------------------------------------
rd_mmc: push hl
ld hl, 6FFDh


Почитать можно здесь:
http://msx.retro8bits.com/sd-mmc-drive.html

Посчитал. Итого:
вариант MSX (со сдвиговым регистром и тактированием SDcard от /RD/WR) работает быстрее, чем вариант n8vem (простейший - полностью программный)
- на чтение байта в ~7 раз
- на запись байта в ~4.5 раза

При этом, чтение сектора с SD-карты в схеме MSX будет всего лишь в 2 раза медленнее, чем чтение IDE/CF сектора при простейшей (программной) реализации IDE в схеме на 580ВВ55. Т.е. при частоте процессора в 5Мгц SD-card уже сравняется со скоростью работы DS/DD дисковода (800к).

"Цена вопроса" варианта MSX (опять же не считая дешифратора сигнала /F763) - 555ЛЛ1+555АП5+555ИР8+555ЛП8+2х555ТМ2. 74HC125 выкидываем нафиг (и делаем согласование на резисторах как в схеме N8VEM), смысл элемента U4D мне тоже не ясен. Итого, схема MSX - 6 корпусов против 3 корпусов в N8VEM. Оба варианта вполне реализуемы даже на макетке.



---------- Post added at 13:00 ---------- Previous post was at 12:35 ----------


Почитать можно здесь:
http://msx.retro8bits.com/sd-mmc-drive.html

Кстати, я попадал по этой ссылке, но смутило наличие на плате 40-ногой 2212P003. Что это за чип? Что-то музыкальное?

caro
26.01.2010, 14:06
Кстати, я попадал по этой ссылке, но смутило наличие на плате 40-ногой 2212P003. Что это за чип? Что-то музыкальное?Да, это музыкальный чип устанавливаемый обычно в игровых картриджах от фирмы Konami, так называемый SCC.
В этой схеме он выполняет роль схемы управления переключением банков памяти BIOS и электронного диска.
Ну и заодно работает как музыкальный чип.
К реализации самого интерфейса с SD/MMC он не имеет отношения.

---------- Post added at 16:06 ---------- Previous post was at 15:16 ----------

Последний вариант схемы поддерживает работу с двумя картами.

Error404
26.01.2010, 15:34
Последний вариант схемы поддерживает работу с двумя картами.

С двумя картами пожалуй уже сложно слишком - более десятка МСХ.
Еще во втором варианте добавлен регистр сдвига и на запись тоже (в V1 - только на чтение). Однако, все равно не понятно за счет чего во втором варианте декларируется рост производительности в 3 раза:
"
Disk speeds measured by DOSSCAN.COM
- HW V1 on Z80 3.58MHz mode : 40kB/Sec
- HW V2 on Z80 3.58MHz mode : 130kB/Sec
"

---------- Post added at 15:34 ---------- Previous post was at 14:16 ----------


Вот так реализованы операции чтения и записи байта:


А чего-то исходники (rd_mmc и т.д.) я по ссылке http://msx.retro8bits.com/sd-mmc-drive.html не нахожу. И вообще не нахожу. Может, подскажете откуда дровишки?

caro
26.01.2010, 15:48
А чего-то исходники (rd_mmc и т.д.) я по ссылке http://msx.retro8bits.com/sd-mmc-drive.html не нахожу. И вообще не нахожу. Может, подскажете откуда дровишки?Исходников не выкладывалось, и думаю не будет.
IDA Вам в помощь :)
По поводу увеличения скорости обмена, надо будет глянуть как в новом BIOSе выглядят операции чтения/записи.

Error404
26.01.2010, 16:00
Поразмыслив, мне все более нравится вариант MSX SD-MMC drive V1.
Приемлимое количество микросхем (при изготовлении на дискретах), и приемлимое медленнодействие. И в FPGA легко поместится.

Схемно получится примерно так:
Update: схема из этого сообщения удалена, последний вариант - в первом посте треда

pvlad
28.01.2010, 00:38
Схемно получится примерно так....

А что, без ВВ55 никак? Обязательно необходимо использовать это старье? На системную шину по другому Ваш вариант схемы уже не прикрутить?

Error404
28.01.2010, 09:18
А что, без ВВ55 никак? Обязательно необходимо использовать это старье? На системную шину по другому Ваш вариант схемы уже не прикрутить?

На схеме и нет ВВ55, там 8 мсх дискретной логики серии 555.
В варианте MSX (я только чуть перерисовал схему под другие порты и другое согласование с уровнями сигналов 3.3V) основная идея в том, чтобы
- во-первых, при выполнении одной команды CPU чтении/записи порта аппаратно вырабатывать сигнал тактирования карты, не тратя на это дополнительные команды в коде. Т.е. нужно транслировать на карту сигналы /WR /RD с шины.
- во-вторых, ускорение также достигается за счет применения сдвигового регистра на чтение. Это уже никак не заменить в ВВ55. Без регистра получаем вариант от N8VEM, т.е. сразу медленее в 2,5 раза в варианте с аппаратной реализацией /CLK (если доработать вариант N8VEM) или медленнее в 7 раз с программной реализацией /CLK (как оно и есть в оригинале N8VEM). Т.е. в последнем случае примерно на порядок медленнее дисковода.

Схему на дискретах в перспективе можно будет заменить малоногой паябельной дешевой FPGA. А в случае компа изначально в многоногой FPGA, интегрировать ее внуть (потребуется 4 ноги FPGA для интерфейса c картой).

pvlad
29.01.2010, 12:33
На схеме и нет ВВ55....
Приношу извинения! Видимо, сослепу принял системный разъем Х2 за разъем порта на Вашем рисунке.


Схему на дискретах в перспективе можно будет заменить малоногой паябельной дешевой FPGA. А в случае компа изначально в многоногой FPGA, интегрировать ее внуть (потребуется 4 ноги FPGA для интерфейса c картой).
Я предлагал ewgeny7 сделать аппаратный SPI-интерфейс. Это очень не сложно в реализации. Также предлагаю сделать USART и пару таймеров. Все это решит кучу проблем.

Error404
09.02.2010, 18:04
Можно сделать по схеме, как в контроллере IDE_MMC для MSX:

Что-то мне не понятна физика процесса в MSX SD V1.
Подпрограмма


rd_mmc: push hl
ld hl, 6FFDh
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld (hl), l
ld a, (hl)
pop hl
ret


за счет чего может генерировать правильные импульсы на SCLK?
Что ли за счет того, что CPU кроме непосредственно обращения на запись 6FFDh к порту еще и программный код самой подпрограммы rd_mmc читает из памяти?

b2m
09.02.2010, 21:13
Насколько я понял, сигнал /RD сбрасывает триггер U7A, т.е. любое чтение сбрасывает триггер. В данном случае - чтение следующей команды. При записи в ММС такая-же фича.

Error404
10.02.2010, 09:21
Насколько я понял, сигнал /RD сбрасывает триггер U7A, т.е. любое чтение сбрасывает триггер. В данном случае - чтение следующей команды. При записи в ММС такая-же фича.

Меня просто смутило зачем на вход D триггера заводить A1. Ведь при работе с портом 6FFD, A1 всегда "0". Можно было просто повесить ногу на землю (не нагружать лишний раз шину). Или это какая-то фишка для компенсации неполной дешифрации порта?

b2m
10.02.2010, 11:41
Меня просто смутило зачем на вход D триггера заводить A1.
Чтобы не выдавать клоки при записи сигнала /CS MMC.

Error404
10.02.2010, 22:54
Чтобы не выдавать клоки при записи сигнала /CS MMC.

Да, я так и думал.
Обновил первый пост.

Gryphon
14.02.2010, 12:10
А можно узнать: в реальном орионе схема будет работать? Или это только для Орион-2010.

Ewgeny7
14.02.2010, 12:24
А можно узнать: в реальном орионе схема будет работать? Или это только для Орион-2010.
Должна работать в принципе. Я схему повторил в Ори-2010, буквально по сигналам перенеся её в VHDL. Раз работает в аппаратном эмуле, должна работать и на классике. В VHDL работа всех модулей повторяет реальное железо.
Опробовал и простую схему, и MSX. Обе пашут. Если у народа не будет проблем с доставанием мелких альтер типа EPM7064SLC44, то можно будет запихнуть схемы SD-интерфейсов в один чип, вешаемый прямо на процессорные сигналы.

pvlad
14.02.2010, 18:22
Должна работать в принципе. Я схему повторил в Ори-2010, буквально по сигналам перенеся её в VHDL. Раз работает в аппаратном эмуле, должна работать и на классике. В VHDL работа всех модулей повторяет реальное железо.
Опробовал и простую схему, и MSX. Обе пашут. Если у народа не будет проблем с доставанием мелких альтер типа EPM7064SLC44, то можно будет запихнуть схемы SD-интерфейсов в один чип, вешаемый прямо на процессорные сигналы.
В соседней ветке уже говорил. Повторюсь здесь. Для О-2010 SPI-интерфейс необходимо запихнуть в основную Альтеру как штатный интерфейс. Адреса портов управления подобрать не сложно. А вот для старого Ориона можно это сделать и на дополнительной Альтере, включив туда и другие интерфейсные прибамбасы, сохранив совместимость по портам.

Ewgeny7
14.02.2010, 19:47
Для О-2010 SPI-интерфейс необходимо запихнуть в основную Альтеру как штатный интерфейс
Дык я уже вроде говорил. (Или нет?)
Дайте мне схему интерфейса, на самой обыкновенной логике. Чтобы я мог понять что как работает и куда и как всё это добро подключать. Дали схему SD-интерфейса, я сделал ее HDL-версию за полчаса. Тут нужно тоже самое.

Error404
14.02.2010, 22:44
Две уже примененные схемы - плагиат из готовых забугорных проектов. Я ничего не имею против добавить и другие решения, тем более если говорить за SD, то вся разница будет только в низовой подпрограмме записи/чтения байта (т.е. пара десятков байт), весь прочий код - одинаковый, схемные варианты автодетектируются. Если будет где срисовать такие же подпрограммы для третьей схемы - встрою в общий алгоритм автодетект и работу дополнительно и по третьему варианту.

Ewgeny7
14.02.2010, 23:03
Можно, наверное, поставить простой автомат на чтение-запись байта... Клок взять от делителя, запись в порт управления запускает клок на сдвиговый регистр с одновременной тактировкой SCK. Чтение из порта управления скажет когда байт передан/прочитан.
Вот только нафик? Если есть готовые схемы... Скорость работы существующих схем сначала проверим, потом можно будет заморочиться и предложенным вариантом.
Но по любому, живая схема реализации SPI крайне приветствуется.

Ewgeny7
03.03.2010, 20:25
Еженедельный пинг :)

Error404
03.03.2010, 21:33
Еженедельный пинг :)

"Не сплю, не сплю" (с) Маски-шоу :)

На работе просто завал уже третью неделю.
Набор из CP/M+MonitorSdBoot+OrdosBoot в состоянии 50% готовности.

Все остальное (загрузчик ORD/BRU под ордос, FAT/FDISK под cp/м) - дело еще более дальнего будущего.

Ewgeny7
03.03.2010, 22:39
в состоянии 50% готовности.


уже третью неделю
Ага... Значит ждать осталось всего три недели!!! Ждём!!! :)

Error404
07.03.2010, 22:44
Ага... Значит ждать осталось всего три недели!!! Ждём!!! :)

Праздничный пререлиз. Мониторы и загрузчики (CPM пока еще в разработке - готовность 75%).



Пакет системного ПО Ориона-128/Z - начальных загрузчиков ОС, специализированных для загрузки с SD-карты.
Поддерживаются оба вида схем подключения SD-карт: N8VEM и MSX.
Программно пока поддерживаются только SDC-карты (размером до 2Gb включительно). SDHC (4 и более GB) не поддерживаются.

M35zmsc.bin - Монитор 3.5, по включению питания загружающийся с SD-карты, подключеной по схеме N8VEM. Клавиатура MS7007 (Лениград).
M35ZMSS.BIN - Монитор 3.5, по включению питания загружающийся с SD-карты, подключеной по схеме MSX. Клавиатура MS7007 (Лениград).
M35ZRKC.BIN - Монитор 3.5, по включению питания загружающийся с SD-карты, подключеной по схеме N8VEM. Клавиатура РК-86.
M35ZRKS.BIN - Монитор 3.5, по включению питания загружающийся с SD-карты, подключеной по схеме MSX. Клавиатура РК-86.
MBOOT.ORD - утилита для ORDOS для загрузки с SD-карты (обе схемы, автодетект), IDE (Master и Slave, порт F600), Floppy0 (дисковод А). Монитор - любой.
Test2sd.ord - простейшая утилита для ORDOS для посекторного просмотра/модификации содержимого SD-карты
Test2sd.com - тоже, что и Test2sd.ord, но в версии для CP/M.

В каталоге SOURCE исходные тексты.

Ewgeny7
07.03.2010, 23:41
Праздничный пререлиз
Замечательно!
До релиза ОС осталось уже две недели!!! :)
Залил MBOOT в диск. Кучеряво смотрится :v2_finge:
Как я понял (с помощью эмуля) СР/М пока не запустится? Подождем еще. :v2_cheer:

Ewgeny7
08.03.2010, 11:35
Залил на SD образ games.ohi. Читается нормально, сектора до 23 проскакивают примерно так же, как на CF. В режиме 10Мгц - еще шустрее. ОСь разумеется пока не стартует.
В MBOOT имхо не хватает таймера на запуск первого пункта по умолчанию.
Также интересна "заминка" после выбора пункта 1. Судя по всему, проверяется схема адаптера SD?

Error404
08.03.2010, 23:01
Залил на SD образ games.ohi. Читается нормально, сектора до 23 проскакивают примерно так же, как на CF. В режиме 10Мгц - еще шустрее. ОСь разумеется пока не стартует.
В MBOOT имхо не хватает таймера на запуск первого пункта по умолчанию.
Также интересна "заминка" после выбора пункта 1. Судя по всему, проверяется схема адаптера SD?

Таймер сделать можно. Пока же рассчитывалось на то, что запустив загрузчик по кнопке Enter, тут же еще раз жмыкнуть Enter (чтобы отработал пункт 1-дефолтный). Это быстрее чем ждать таймер.

Заминка связана с тем, что в начале выключается питание на карте (с расчетом на то, что это схемно поддерживается), затем задержка (вдруг там конденсатор?), затем включение питания и начало собственно загрузки. Такое же предполагаю делать и в CPM при выполнении unmount/mount (замене карты без перезагрузки ОС).

Error404
27.03.2010, 19:05
Надоело "ходить беременным", родил по принципу "что выросло - то выросло". Надо тестировать.

Итак, релиз-кандидат CPM :) с поддержкой SD-карт скачиваем тут:
http://orion-z.hoter.ru/file/335/5706_GAMES-sd.zip

Грузить ОС с SD-карт можно при помощи загрузчиков ранее уже опубликованных в этом посте:
http://zx.pk.ru/showpost.php?p=262906&postcount=31

Описание как чего подготавливать сделаю позже.
В целом, это делается точно так же, как и для CF-карт или ATA hdd (уже ранее описывалось на форуме в какой-то Орионовской ветке).

ewgeny7 , проверить ЭТО на реале пока можешь только ты. :)
К тому же, наверняка справишься с записью образа на карту и без HOW-TO.

Исходники во вложении этого сообщения.
Т.к. ребеночек родился 7-месячным, исходники явно неокончательные. :)

Release Notes: :)


Altair DOS V3.4s (2010.03.27)
-----------------------------

+ Добавлена поддержка SD-карт (формат SDC - т.е. емкостью не более 2G) - устройство SDCARD.
Схема N8VEM или MSX (при старте ОС выполняется автодетект схемы).
IDE по-прежнему поддерживается - устройства MASTER и SLAVE.

+ При дисковом вводе-выводе есть возможность выключать прерывания. Это настраивается
командой INT_IO файла config.sys.
"INT_IO 0" - операции ввода-вывода не прерываются по int (прерывания приостанавливаются).
"INT_IO 1" - прерывания никогда не выключаются.

+- Изменена команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE[.PARTITION]
- mount device { FDD0 | FDD1 | VDISK | MASTER | SLAVE | SDCARD | NONE }
if device = { MASTER | SLAVE | SDCARD } then also specify PARTITION (0,1,2,3)
"NONE"=unmount
map to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters

+- Изменена команда ASSIGN файла config.sys в части IDE и SD устройств.
Примеры нового формата синтаксиса (устройства и нумерация партиций как в команде MNT):
ASSIGN DRIVE C = SDCARD 0 ; mount 1-st partition of SD-card
ASSIGN DRIVE D = SDCARD 1 ; mount 2-nd partition of SD-card
ASSIGN DRIVE D = MASTER 0 ; mount 1-st partition of IDE-Master
ASSIGN DRIVE D = SLAVE 1 ; mount 2-nd partition of IDE-Slave
ASSIGN DRIVE C = SLAVE 3 ; mount last (4-th) partition of IDE-Slave

+- Количество одновременно подключенных партиций с любых комбинаций устройств увеличено
с двух (в версии V3.4i) до трех (в V3.4s). Максимальных суммарный объем подключенных
(смонтированных) партиций не должен превышать 100Mb.

+ Новые сообщения об ошибках, возникающих при монтировании партиции:
"HDD slot not found" - все 3 имеющихся точки монтирования партиций уже заняты.
Решение: отмонтировать что-то ненужное командой "MNT D:NONE".
"CP/M not found" - попытка монтирования партиции, тип которой отличается от CP/M (52h)
Решение: создать CP/M-партицию можно программой FDISK.COM.
"DPB not found" - попытка монтирования партиции, тип которой CP/M (52h), но при
этом bootsector партиции не содержит DPB (нет корректной ФС).
Решение: создать файловую систему (DPB) можно программой FDISK.COM.
"ALV not found" - Для монтируемой файловой системы требуется буфер ALV, который с
учетом других уже смонтированных партиций не помещается в текущий
буфер CPM. Размер буфера ALV пропорционален размеру файловой системы
(то самое ограничение 100Мб).
Решение: умерить аппетиты при создании файловой системы
программой FDISK.COM.

+- Драйвер IDEBDOS.COM (требуемый для FDISK.COM, FAT.COM) доработан для поддержки
SD-карт - см. встроенный хелп про параметр "SD". Также добавлен новый параметр
"NOINT" - если он указан, то операции ввода-вывода не прерываются по int.
Выполняется автодетект обеих схем подключения SD-карт (N8VEM и MSX).

+- Утилита FDISK.COM теперь создает файловые системы с размером блока не 8кб, а 16кб
(блок 16к - это максимум для CP/M 2.2), что позволяет вдвое снизить требования к
размеру буферов ALV (и добиться ранее упоминавшегося объема одновременно
монтируемых партиций в 100Mb).



Altair DOS V3.4i (2009.10.10)
-----------------------------


+ Добавлена команда команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE_SLOT[.PARTITION]
- mount device { FDD0 | FDD1 | IDE0 | IDE1 | VDISK | NONE } // NONE=unmount
if device = { IDE0 | IDE1 } then also specify PARTITION (0,2,4,6=MASTER ; 1,3,5,7=SLAVE)
to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters

+ При обращении к IDE на запись/чтение выключаются прерывания
(сделано на всякий случай - на реале и без этого работало, но... были подозрения)

- Исключена команда CCP SAVE (место в CCP не резиновое)

+- Исправлена ошибка с записью сектора на IDE при работе IDE на порту F600.
На порту F500 эта ошибка не проявлялась (все работало нормально).



Altair DOS V3.4h, V3.3 и предыдущие
-----------------------------------

Ранее изменения не фиксировались.

Ewgeny7
28.03.2010, 20:28
Вот результат альфа-тестинга :) http://scorpion-zs.narod.ru/lv01_PC.avi (2Мб)
Прим. - в "окнах" работаем на частоте 10Мгц.

---------- Post added at 20:28 ---------- Previous post was at 19:47 ----------

Раз тридцать наверное перезапускал ОС. Не виснет, зараза! :)
Попробовал копирование/удаление файлов. Работает. Партиции не портит.
В общем, можно нас всех поздравить с победой! :v2_cheer:
Error_404, родина в тебя верила, и не ошиблась!

А я пошел далее искать глюки.

Ewgeny7
28.03.2010, 20:40
Затаив дыхание, запускаем суперпупертестпрограмму из под СР/М - знаменитую 3D-космосимулятор ELITE...

Вскрытие показало, что на 10Мгц играть не просто реально, а даже несколько реальнее чем на "родителе" - Спектруме. Ибо немножко быстрее, и слайдшоу уже не напрягает :)
На фото картинко несколько сжата по бокам, у себя на экране я выставил примерно спектрумовские пропорции.

Ewgeny7
28.03.2010, 20:41
Скорее бы май месяц, подключить к цветному телевизору через СКАРТ...

BYTEMAN
28.03.2010, 21:53
Затаив дыхание, запускаем суперпупертестпрограмму из под СР/М - знаменитую 3D-космосимулятор ELITE...
интересно знать, она на ПРО пойдёт?

Error404
28.03.2010, 22:36
Скорее бы май месяц, подключить к цветному телевизору через СКАРТ...

А что, с конвертором VGA пока что глухо?

---------- Post added at 22:36 ---------- Previous post was at 22:33 ----------


интересно знать, она на ПРО пойдёт?

Зависит от того, используется ли в игре диспетчер по 16к.
Прерывания совместимы в обоих вариантах (Про/z80card-II), а диспетчеры памяти у них отличаются.

Ewgeny7
28.03.2010, 23:21
А что, с конвертором VGA пока что глухо?
Да, пока заглохло. У меня наработки пока теоретические. Практически лепить ВГА можно, но мне неудобно будет отлаживать всё прочее в этом режиме (нет отдельного свободного монитора). А так вроде и несложно, умножить клок на видеовыход в два раза и выводить одну строчку два раза. Несколько усложнится доступ проца к памяти. Лежат найденные в хламушнике разъем ВГА и макетка под него и резисторную матрицу.
zst пока молчит.

Error404
15.04.2010, 17:40
В CP/M добавлена нативная (включаемая штатно через IOBYTE) поддержка TTY (последовательной консоли RS-232 по стандарту Orion-2010 - порты 0F764, 0F765). Подробнее см. здесь:
http://zx.pk.ru/showpost.php?p=275608&postcount=851