вот ссылка по адоптации cp/m
http://bitsavers.org/pdf/digitalRese...nual_Jul82.pdf
http://bitsavers.org/pdf/digitalRese...Guide_1979.pdf
и там еще есть доки
http://bitsavers.org/pdf/digitalResearch/cpm/
ну и тут немного
http://www.cpm.z80.de/drilib.html
Я сейчас придумываю API. Сначала я хотел сделать функции
selectImageFile(номер_дисковода, имя_файла)
readImage(номер_дисковода, номер_сектора, буфер)
writeImage(номер_дисковода, номер_сектора, буфер)
Но жалко памяти микроконтроллера под хранение имен файлов (которые могут быть до 128 символов). Поэтому имена файлов будет задавать сам компьютер при переключении дисководов.
selectImageFile(имя_файла) - Вызывается при смене диска (как раз функция CP/M SELDSK)
readImage(номер_сектора, буфер) - Чтение сектора размером 512 байт
writeImage(номер_сектора, буфер) - Запись сектора размером 512 байт
И сам же компьютер будет сохранять имя выбранного образа с помощью функций
loadFile(имя_файла, буфер) - Чтение файла
saveFile(имя_файла, буфер, максимальная_длина) - Запись области памяти в файл.
Последний раз редактировалось vinxru; 11.09.2012 в 01:17.
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
Записывать данные кусками по 512 байт в файл он уже умеет.
Сейчас (по дефолту) образ эмулируемого ПЗУ занимает 256 байт. Стек и глобальные переменные занимают ~540 байт. И еще буфер чтения/запили размером 128 байт.
Если прибрать используемые переменные и временно использовать место занимаемое образом ПЗУ, то можно получить эти 512 байт.
В крайнем случае можно использовать ОЗУ компьютера.
И остается написать функцию, которая бы добавляла кластер к файлу (при записи). Редактировала обе таблицы FAT. Или удаляла кластеры (функция SetEndOfFile).
И еще лучше, написать функцию, которая бы работала с каталогами. Там так же надо оперировать с кластерами.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)