User Tag List

Страница 25 из 120 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 1199

Тема: Орион-2010. Hard & Soft

  1. #241

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, а как (чем) можно редактировать ромдиски?
    На твоем эмуляторе можно выдергивать отдельные файлы из диска В и сохранять их как .ord
    Для "склейки" отдельных файлов, как я понял, нужны файлики .bru или .rom.
    В orion_software я нашел кучку .bru файлов, но не все, что мне нужны.
    Каким образом можно конвертануть файлы .ord в .bru для дальнейшей склейки?

    P.S. Может стоит завести отдельную тему "ОРИОН для начинающих"?
    В спектрумовских файлах и форматах я чувствую себя как рыба в воде, а в орионовских...
    Последний раз редактировалось Ewgeny7; 25.08.2009 в 22:26.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #241
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #242

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Error404, а как (чем) можно редактировать ромдиски?
    На твоем эмуляторе можно выдергивать отдельные файлы из диска В и сохранять их как .ord
    Для "склейки" отдельных файлов, как я понял, нужны файлики .bru или .rom.
    В orion_software я нашел кучку .bru файлов, но не все, что мне нужны.
    Каким образом можно конвертануть файлы .ord в .bru для дальнейшей склейки?

    P.S. Может стоит завести отдельную тему "ОРИОН для начинающих"?
    В спектрумовских файлах и форматах я чувствую себя как рыба в воде, а в орионовских...
    bru и ord - это одно и тоже, только с разным расширением. Файл состоит из 16 байт заголовка (8=имя + 2=старт + 2=длина + 00FFFFFF) и собственно данных количеством байт как указано в поле "длина". Хорошим тоном считается выравнивать длину файла кратно 16. В ромдиске или рамдиске Ордос файлы хранятся последовательно (как в ТРДОС). Конец цепочки файлов - байт FF в первом байте очередного заголовка. Первые 2к ромдиска - код самой ORDOS, далее файлы. Символ "$" в имени - признак исполняемого файла. Расширения как такового нет, содержится в имени (если оно нужно по смыслу).

    Я формирую ромдиск просто копируя в MSDOS:
    copy /b ordos.bru + vc.ord + prog1.bru + prog2.ord + FF.bin romdisk.bin
    Последний раз редактировалось Error404; 26.08.2009 в 01:39.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #243

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Я же говорил - Циклон I. Емкость чипа - 2910 LE.
    Всего использовано 2200 LE, из них сам процессор занимает около 1900 LE. Т.е. туда еще можно черта в ступе и с избушкой засунуть.
    В идеале, засунуть бы туда адаптер клавы PS2 (как ты и планировал), и муз. сопроцессор AY8910. AY=YM в CPLD по-моему тоже уже есть реализованное, можно позаимствовать. Чтобы на плате лишнего не надо было делать. 512ВИ1 наверное не получится туда впихнуть, т.к. оно должно иметь батарейное питание и работать при выключенных прочих подсистемах.

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    В общем, винт не заработал. Я так и думал
    Получаем error 46. И сам винт как-то не торопится раскручиваться при подключенном кабеле.
    Загрузчик при неуспехе возвращает FE (нет диска), FF (диск занят - BUSY), C3 (если МБР не в коде Z80), либо код ATA-ошибки из регистра ошибки. Надо спеки на ATA курить, чтобы найти что означает "46". А чего-то спецификацию я пока не нагуглил.

    Попробуй загрузиться с HDD при помощи HDDF60R$.ord (оно есть в ромдиске во вложении этого сообщения). Я там при инициализации добавил ATA-команду recalibrate (говорят, помогает престарелым винтам) и некий вывод на экран, чтобы понять на каком шаге сваливается.
    Последний раз редактировалось Error404; 08.01.2015 в 14:44.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #244

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Загрузчик при неуспехе
    Вчера добавил в прошивку работу с портом F6 как портом I/O и перезаписал винт.
    Сегодня был сдвиг - винт прочитался. На экране появилось что-то вроде "boot loader... тра-та-та quantum maverik 270а..." и две партиции диска. И таймер тикал
    Но далее глюк. При выборе партиции (любой) светодиод винта еще на секунду загорается, с винта что-то читается... и висим. Экран не очищается, в правом нижнем углу экрана появляется полосочка (FF в каком-то байте экрана). И всё
    картина одинаковая и при M36zrkh и при M34zrk + драйвер. Что там происходит после выбора партиции и перед началом работы теста памяти не припомнишь?


    Цитата Сообщение от Error404 Посмотреть сообщение
    AY=YM в CPLD по-моему тоже уже есть
    Ээээ.... А каким образом там аналоговые выходы АУ реализованы на цифровых выходах альтеры? Если и есть. то наверное не для первого циклона

    Цитата Сообщение от Error404 Посмотреть сообщение
    В идеале, засунуть бы туда адаптер клавы PS2 (как ты и планировал)
    Да, буду делать. Для этого понадобтся помощь igor_t. Надеюсь, не откажет
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #245
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    А каким образом там аналоговые выходы АУ реализованы на цифровых выходах альтеры?
    Простейший вариант PWM (ШИМ), второй вариант I2S на оба варианта для стерео необходимо 2 ноги

  7. #246

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    Простейший вариант PWM (ШИМ), второй вариант I2S на оба варианта для стерео необходимо 2 ноги
    На опенсорсах искать?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  8. #247
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    На опенсорсах искать?
    PWM I2S они очень просто реализуются
    первый на основе счетчика второй это фактически сдвиговый регистр

    в принципе так находится много чего.

    Вообще если понять как работает сделать можно за 20 минут.
    I2S есть например в NeoGS
    PWM по моему в One Chip MSX посмотреть можно

  9. #248

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Вчера добавил в прошивку работу с портом F6 как портом I/O и перезаписал винт.
    Сегодня был сдвиг - винт прочитался. На экране появилось что-то вроде "boot loader... тра-та-та quantum maverik 270а..." и две партиции диска. И таймер тикал
    Это означает, что MBR-сектор (сектор с LBA=0) и identify с винта читаются.
    В меню партиций были надписи "ALTAIR-GAMES-ZX", "ALTAIR-GAMES-OLD"?
    Эти строчки - метка дисков (партиций) - volume label. Если да, то значит читаются и правильно адресуются по LBA boot-секторы партиций (это первый сектор каждой из партиций). Значит чтение с винта должно проходить нормально и далее - при чтении (загрузке) кода операционки.

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Но далее глюк. При выборе партиции (любой) светодиод винта еще на секунду загорается, с винта что-то читается... и висим. Экран не очищается, в правом нижнем углу экрана появляется полосочка (FF в каком-то байте экрана). И всё
    картина одинаковая и при M36zrkh и при M34zrk + драйвер. Что там происходит после выбора партиции и перед началом работы теста памяти не припомнишь?
    А далее начинается жесткач.

    Во-первых, программный код загрузчика ОС и холодного старта ОС (включая тест памяти, до которого пока не доходит) работает из первой страницы (1-й , если считать с 0). После теста памяти вообще работаем в-основном из 2-й страницы (считая с 0).
    До этого весь код, что запускается из-под Ордос у тебя работал в нулевой странице, а доступ к остальным страницам получал через п\п ПЗУ F800 (эти п\п работают только внутри кода ПЗУ и только на регистрах Z80). Поэтому, если нормально описано ПЗУ, но неточно описано "слипшееся" ОЗУ области F000...F3FF (в этом адресном пространстве процессора независимо ни от каких портов, как то F9 и FB, ВСЕГДА область ОЗУ F000...F3FF нулевой страницы), то деффект мог ранее быть незаметен.

    За счет "слипшегося" ОЗУ области F000...F3FF применяется практика написания такого кода: размещаем небольшие куски "кода взаимодействия" и стек процессора в области F000...F3FF, щелкаем "банками" ОЗУ портом F9, но не теряем при этом выполняемость, т.к. выполнение кода в области F000...F3FF не прерывается, в отличие от того как если разместить код ниже F000 и вывести в порт F9 значение, отличное от текущего.

    0EFFFH - МАРКЕР БАНКА. Специфическая для этой версии CPM ячейка. С записи в нее FF во все страницы ОЗУ (переключаемся по порту F9 даже в несуществующие страницы !!! - нам то пофиг, мы в области F000...F3FF, т.е. гарантированно в существующей нулевой странице, а определить сколько ОЗУ присутствует - надо) начинается инициализация ОС перед тестом ОЗУ (сидящий опять же в F000...F3FF), который потом много и часто щелкает портом F9 (до этого порт F9 ставится в "1" только один раз - перед чтением MBR, котороый кладется с адреса 0 соответственно в первую страницу считая с 0). А у тебя F9 не щелкает, видимо все заканчивается на инициализации в 0FFh ячейки 0EFFFH (МАРКЕРа БАНКА) второй страницы или первой из несуществующих (0FFh в EFFFH нулевой страницы ты на экране все же видишь).

    Т.е. где-то в самом начале увисает еще до теста, иначе оно писало бы в левом верхнем углу количество найденного и проверенного ОЗУ, а по экрану промелькнула бы "сверху-вниз слева-направо" очередная тестируемая ячейка. По мере прохождения теста значение в 0EFFFH - МАРКЕР БАНКА становится равным номеру страницы ОЗУ (это нужно чтобы по прерыванию определять - в какой страница мы есть, т.к. порт F9 на чтение не доступен).

    Ну, и конечно много раз при холодном старте ОС из 1-й станицы (считая с 0) вызываются команды вида (нормальные для реала):
    Код:
            LD      A,80H
            OUT     (0FBh),A  ; выключили диспетчер 16к
    ; .........................................
            LD      HL,0F3CFH
            LD      (HL),0C0H  ; экран с C000
            INC     HL
            LD      (HL),30H   ; ширина экрана
            INC     HL
            LD      (HL),B     ; B=0.  фонт на F000
            INC     HL
            LD      (HL),0F0H
            inc     hl
            ld      (hl),B     ; B=0.  откл. инверсию
            CALL    0F82DH     ; распаковать фонт
    ;
    ; вызвали п\п из ПЗУ, а сами при этом в странице 1 (не 0 !)
    ;
    
     	pop	hl		; HL=NTAB
            LD      DE,BPROC
            LD      BC,AVECEND-AVECBEG
            LDIR                    ; МЕЖБАНКОВЫЙ СЕРВИС
    ;
    ; куча LDIR-ов в область F000...F3FF - куда оно реально попадет?
    ; инициализация неких переменных Монитора, опят же в области  ;F000...F3FF
    ;
            JP	MMTEST          ; MEMORY TEST
    ;
    MMTEST:
    ; ........................
    	LD      BC,80FFH
    	LD      HL,MARKER
    	CALL    INITEST        ; инициализация ячейки EFFF всех страниц в значение 0FFh
                                         ; goto F000...F3FF area !!!
    ; ........................
    	CALL    0F812H         ; console status (keypressed)
    ; вызвали п\п из ПЗУ, а сами при этом в странице 1 (не 0 !)
    ;
            CALL    TESTMEM     ;  тест очередного 4к-фрагмента goto F000...F3FF area !!!
    ; ........................
    ;
    
    ; ........................
    ; БЕЗВРЕДНЫЙ ТЕСТ ПАМЯТИ. ВХОД: HL = 0EFFFH - МАРКЕР БАНКА.
    ; DE = НАЧАЛЬНЫЙ АДРЕС, BC = ДЛИНА ТЕСТИРУЕМОГО ФРАГМЕНТА
    ; ВЫХОД: ФЛАГ Z=TRUE ЕСЛИ НОРМАЛЬНО, Z=FALSE(NZ) ЕСЛИ BAD
    ;
    TESTMEM:OUT     (PF9),A
            CP      (HL)
            JR      Z,TESTM0
            JR      NC,RETT         ; ПЕРЕХОД ЕСЛИ (MARKER)<AKK
            LD      (HL),A          ; МЕНЯЕМ 0FFH НА НОМЕР СТР.
    TESTM0: EX      DE,HL
    TESTM1: LD      A,(HL)
            CPL
            LD      (HL),A
            CP      (HL)
            JR      NZ,RETT
            CPL
            LD      (HL),A
            CP      (HL)
            JR      NZ,RETT
            INC     HL
            DEC     BC
            LD      A,B
            OR      C
            Jr      NZ,TESTM1
    RETT:   LD      A,WORKPAGE
            OUT     (PF9),A
            RET
    ;
    ; ; инициализация ячейки EFFF всех страниц в значение 0FFh
    ;
    INITEST:OUT     (PF9),A
            LD      (HL),C
            INC     A
            DJNZ    INITEST
            JR      RETT
    ;
    Некокторые подрограммы Монитора (типа статуса клавиатуры, рапаковки фонта) можно вызывать из любой страницы, т.к. они не лезут в ОЗУ ниже F000, другие, которые лезут в ОЗУ ниже F000 надо вызывать только из положения port_F9=0.

    ---------- Post added at 18:17 ---------- Previous post was at 17:52 ----------

    Резюмирую предыдущий пост: считаю, надо проверить, как описано "слипшееся" ОЗУ области F000...F3FF, особенно в случае, если в порт F9 занесен номер физически несуществующей страницы ОЗУ - в этом случае ниже F000 должна быть видна одна из существующих страниц. К примеру, если у тебя 512к ОЗУ (т.е. 8 страниц по 64к) и в порт F9 выведено значение 25, то в области 0000...EFFF с учетом "игнорирования старших линий адреса" должно быть видно ОЗУ страницы (25 mod 8)=1, а в области F000...F3FF - ОЗУ страницы 0 (как и во всех случаях).

    Не надо закладываться на некий фиксированный объем ОЗУ (чтобы не отрезать возможность расширения простым добавлением ОЗУ) - оно должно автоматически получиться когда "не задействованы старшие линии адреса- A19, A20,...". Просто надо это уточнить.
    Последний раз редактировалось Error404; 26.08.2009 в 18:31.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. #249

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    F000...F3FF (в этом адресном пространстве процессора независимо ни от каких портов, как то F9 и FB, ВСЕГДА область ОЗУ F000...F3FF нулевой страницы
    Тэкс, кажется косяк нашелся...
    Как я понял, область F000 - F3FF нулевой страницы всегда видна на любой странице. Область F400 - FFFF занята портами и ПЗУ. F9 переключает страницы, но верхняя область от F000 остается видна всегда. А что происходит при fullram? F000-F3FF остается из нулевой страницы, а то что выше этой области? Тоже нулевая страница или уже своя, назначенная F9?

    ---------- Post added at 21:29 ---------- Previous post was at 20:36 ----------

    НАШЕОООЛ!!!
    Ошибка в коде руления выборкой памяти. Исправил.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  11. #250

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Тэкс, кажется косяк нашелся...
    Как я понял, область F000 - F3FF нулевой страницы всегда видна на любой странице. Область F400 - FFFF занята портами и ПЗУ. F9 переключает страницы, но верхняя область от F000 остается видна всегда. А что происходит при fullram? F000-F3FF остается из нулевой страницы, а то что выше этой области? Тоже нулевая страница или уже своя, назначенная F9?
    Все что я писал постом ранее к fullram не относится!
    В fullram каждая страница относительно порта F9 - сплошные обособленные 64к ОЗУ без каких-либо склеиваний, портов или ПЗУ.

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    НАШЕОООЛ!!!
    Ошибка в коде руления выборкой памяти. Исправил.
    Так теперь CPM запускается или нет?
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 25 из 120 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 22
    Последнее: 06.10.2008, 14:17
  2. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 1
    Последнее: 22.08.2008, 08:56
  3. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 2
    Последнее: 21.08.2008, 13:31
  4. soft dt
    от roxx в разделе Софт
    Ответов: 4
    Последнее: 30.01.2008, 18:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •