Седня вечером стуканусь. А под Flash-диск какое максимальное количество файлов можно рассчитывать? - необходимо для расчёта буфера каталога.
Седня вечером стуканусь. А под Flash-диск какое максимальное количество файлов можно рассчитывать? - необходимо для расчёта буфера каталога.
Сделал запуск программ с Flash-диска, испытано в конфигурации "Специалист_МХ2". Пробовал под обычный Специалист (STD) - работает, хотя ещё физически Flash-диск никто к нему не подключал...
Последний раз редактировалось fifan; 15.03.2012 в 18:09.
Перешёл на создание миниредактора. Сейчас командер выводит на экран дамп памяти, вызываться будет по F4 с экрана панелей. В будущем - редактирование памяти.
Последний раз редактировалось fifan; 24.03.2012 в 09:19.
Отладил перемещение содержимого выводимого на экран редактора вниз - скроллинг всех строк вверх, ввод нижней строки памяти. Скроллинг вверх и вниз будет в пределах памяти файла загружаемого в ОЗУ. Сейчас возможен только просмотр дампа памяти и символьного просмотра, редактирование добавится в файлах, которые можно будет записать (SD карта). Данная версия командера заточена под STD, но часть функций уже отлажена под МХ (в том числе и с дисководом) и ждёт своего часа.
Очередная версия программы. Изменения:
1. Изменена прошивка для Специалиста_МХ2 - переделан загрузчик с ПЗУ и вставлены подпрограммы в свободное место прошивки, в том числе и обслуживающие SD карту (пока никак не задействованы).
2. Переделаны мелкие ошибки в редакторе и в подпрограмме очистки окна перед прорисовкой нового.
Теперь в прошивке стандртные векторы перехода на подпрограммы таковы:
Все данные подпрограммы от HardWareMan'а и большинство из них используется в Loader Ver.5 (загрузчик с SD карты под STD). Данная BIOS используется для организации вывода на экран в RAM TEST BY FIFAN.Код:org #d100 ColdStart jp ColdStartJ ; Холодный старт WarmStart jp WarmStartJ ; Тёплый старт Input jp InputJ ; Ввод символа с ожиданием. [A] - символ ScanKey jp ScanKeyJ ; Сканирование клавиатуры без ожидания. [A]=0FFh - если не нажата, иначе [A] - сканкод OutSymbol jp OutSymbolJ ; Вывод символа из [A] с управляющими кодами OutText jp OutTextJ ; Печать текста из [HL] до кода 00h ClearScr jp ClearScrJ ; Очистка экрана ScrollUp jp ScrollUpJ ; Скроллинг экрана вверх на 1 символ SystemBeep jp SystemBeepJ ; Системный гудок, тональность зависит от регистра CMPHLDE jp CMPHLDEJ ; Сравнение HL и DE на равность, < и > InitMemCard jp InitMemCardR ; Инит карты памяти, выход: [A] код ошибки карты, 00H - OK. LoadSystem jp LoadSystemJ ; Загрузка системы. Портит все регистры, возвращает в [A] флаг успешности WaitASecond jp WaitASecondJ ; подпрограмма 1 секундного ожидания CompareMem jp CompareMemJ ; Сравнение данных в памяти [HL] и [DE] размером в [BC] DiskReadSec jp DiskReadSecR ; Чтение сектора. Сохраняет все, в [A] код ошибки (00 = ОК)
Последний раз редактировалось fifan; 14.04.2012 в 19:38.
Дошёл я в написании программы до считывания с дискет. Представляю вам версию 1.27. Пока грузится с дискеты, по позже сделаю загрузку с ROM-диска. Поддержка: считывание каталога и запуск программ с ROM-диска, считывание каталогов с дискеты. Версия испытывалась на классическом МХ в эмулляторе от b2m.
Нашёл глюк: при заходе в каталог нулевой длины все рвно что-то считывается с диска. Я попадаю на удалённый каталог. Нужно вывести надпись "Нет файлов" и по ВК вернуться к предыдущему каталогу.
Сделал недавно: вывод имён подкаталогов. Для углубления строения MX_DOS дискеты хочу сделать программку, которая показывает распределение файлов по таблице FAT. Т.к. все программы в системе записываются кратные одному сектору (1024 байт=1 кБайт) то решил сделать рабочий буфер в этот размер и все операции (копирование/перемещение) будут делаться через него.
Последний раз редактировалось fifan; 27.08.2012 в 11:43.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
fifan, в №46 сообщении третий скриншот - и на левой и на правой панели курсор присутствует, активная панель не помечена... как-то немного запутывает. Сделай указание активной панели, либо с неактивной курсор убирай.
Правильно подмечено. Я ещё не сделал активацию конкретной панели (левой или правой). Планирую активировать подсветкой самой верхней надписи выбранного диска. Активацию буду делать когда дойду до операций копирования/перемещения с панели на панель. Сейчас пока взялся за редактор (F4), который выводит символы и псевдографику блоком по 256 байт.
Версия SpetsCommander'а №1.30. Взялся за переход между панелями - сделал выделение панели путём инвертирования надписи диска/директория. Необходимо организовать запоминание переменных панели (номер диска, номер текущей строки и др.) и начинать написание процедуры копирования, хотя бы на RAM-диск. В этом топике выкладываю данную версию программы в виде пары cpu/i80 для загрузки в эмуляторах b2m или spmx_v42. Жаль, что некоторые коды нажатия клавиатуры нельзя использовать для своих нужд (у меня ещё не работает код #08 - стрелка влево).
Последний раз редактировалось fifan; 14.09.2012 в 20:54.
Т.к. к новому Специалисту (Специалисту_МХ2) подключается Flash-диск от HardWareMan'а, то я сделал программу (на основе подпрограмм от SpetsCommander'а) запуска программ с него.
Пока пробую её на эмуляторе от b2m. Для справки: готовая программа вывода и запуска программ с Flash-диска существует и в основной прошивке Специалиста_МХ2. Вызывается она директивой @ из-под Монитора-4. Если позволит место в прошивке, то я заменю вызов подпрограммы обслуживания @ данной программой.
Последний раз редактировалось fifan; 04.12.2012 в 17:50.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)