User Tag List

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 190

Тема: Новый старый квазидиск

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Поздравляю! Следующим этапом дисковод? Или дисковод уже есть?
    Спасибо.
    Не, не хочу что-то возиться с дискетами... Думаю о подключении жесткого диска -- у меня как раз завалялся такой вот IDE на 64 мегабайта:

    Transcend 64Mb IDE


    Где-то ещё его применить, из-за малого объёма, не получится, а для Вектора будет в самый раз.
    Последний раз редактировалось Improver; 13.07.2022 в 16:08. Причина: заменил ссылку на картинку

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

  3. #2

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Твердость диска это хорошо, но для Вектора есть некоторое количество программ, хотя наверное не очень большое, которые общаются с контроллером дисковода напрямую. В основном это демки, конечно.

    У меня еще были тайные помыслы сделать простой адаптер SD-карт. Чтобы он был железно прост и потому легко повторим. Опять же, блаженные пуристы, не зная ничего про контроллер флеша в SD-карте, будут думать, что их дисковод не сложнее их компьютера (спойлер: все равно они будут заблуждаться). А со стороны Вектора написать для него драйвер для МикроДОС-а и, может быть, загрузчик. Но я даже не пробовал задуматься, что на самом деле потребуется для такого проекта.
    Больше игр нет

  4. #3

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот проверенная работающая схема КД:
    Нажмите на изображение для увеличения. 

Название:	kd_sram11_2.jpg 
Просмотров:	315 
Размер:	22.8 Кб 
ID:	67187

    Изменения по отношению к предыдущей версии:
    - заменена микросхема Д4 на 74АВТ240
    - вернул блокировку сигнала CAS -- на ошибки КД это никак не влияет, но пригодится при совместной работе с другими дисками.

    Архив со схемой, разводкой платы и гербер-архивом платы, урезанной до 100х94мм: kd_sram11_2.7z

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    Твердость диска это хорошо, но для Вектора есть некоторое количество программ, хотя наверное не очень большое, которые общаются с контроллером дисковода напрямую. В основном это демки, конечно.
    Меня это не сильно пугает. Понадобится дисковод -- сделаю потом... Кстати, появилась ещё пара идей, чем заняться в выходные: во-первых, подключить батарейку к памяти КД, чтобы не терять данные при выключении, разводка-то уже вся есть. Думаю, для начала попробовать простую CR2032. Во-вторых, попробовать подключить второй КД к первому. Можно сделать его так, чтобы работал только в режиме "стек" -- замены ОЗУ хватит и с одного диска. Естественно, надо будет что-то придумывать с ОС, или написать свою програмку-копировщик с одного КД на другой.

    У меня еще были тайные помыслы сделать простой адаптер SD-карт. Чтобы он был железно прост и потому легко повторим. Опять же, блаженные пуристы, не зная ничего про контроллер флеша в SD-карте, будут думать, что их дисковод не сложнее их компьютера (спойлер: все равно они будут заблуждаться). А со стороны Вектора написать для него драйвер для МикроДОС-а и, может быть, загрузчик. Но я даже не пробовал задуматься, что на самом деле потребуется для такого проекта.
    Тоже интересная идея. А начать её можно с драйвера FAT для Вектора, чтобы можно было отформатированные на PC дискетки читать, а потом уже переходить к SD... Это если не делать обращение к SD аппаратным, эмулирующим ту же дискету.

  5. #4

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для тех, кто пока не заменил загрузчик на Векторе (как я) на более новый, сделал запуск системы с КД в виде отдельной программки:

    Исходники на ASM

    Собственно загрузчик, стартует с адреса 7E00h, указанного в первой строке:
    Код:
           .ORG    07E00h
    L_7E00: LXI  H, 0FF00h  ; проверка наличия КД
    	SHLD    0DED5h
    	XRA  A
    	STA     0DED2h
    	STA     0DED3h
    	INR  A
            STA     0DED4h
            CALL    L_0576
            CALL    Lx04E8 ; проверка наличия OS.COM
            JZ      L_7E00 ; возврат.
                           ; переход на загрузку с КД
    L_050C: LXI  H, 00100h
            SHLD    0DED5h
            MOV  B, H
            LXI  H, 0FF10h ; ссылка на первую запись в директории на КД +10h
    L_051E: MVI  C, 010h   ; <<<---- цикл
    L_0520: MOV  A, M
            ORA  A
            JZ      0100h ; --------->>>>>>>>> запуск системы
            PUSH PSW
            PUSH H
            STA     0DED3h
            MVI  A, 001h
    L_0553: STA     0DED4h
            PUSH PSW
            CALL    L_0576
            JZ      L_0562
            MVI  A, 0FFh
            STA     0DED2h
    L_0562: POP  PSW
            LHLD    0DED5h
            LXI  D, 00080h
            DAD  D
            SHLD    0DED5h
            INR  A
            CPI     009h
            JNZ     L_0553
            POP  H
            POP  PSW
            MOV  A, B
            ADI     004h
            MOV  B, A
            LDA     0DED2h
            ORA  A
            JNZ     L_7E00 ; что-то не так.... сброс.
            INX  H
            DCR  C
            JNZ     L_0520
            CALL    L_04E9 ; проверка наличия OS.COM
            JZ      0100h  ; ------>>>>>>> запуск 2
            LXI  D, 0010h
            DAD  D
            JMP     L_051E
    ;
    L_0576: PUSH B
            PUSH D
            LXI  H, 00000h
            DAD  SP
            SHLD    0DED0h
            LDA     0DED4h
            LXI  D, 0FF80h
            LXI  H, 00400h
    L_05B8: DAD  D
            DCR  A
            JNZ     L_05B8
            XCHG
            LDA     0DED3h
            CMA
            CPI     0FCh
            JNC     L_05C9
            SUI     010h
    L_05C9: SUI     004h
            MOV  L, A
            RLC
            RLC
            ANI     0FCh
            MOV  H, A
            MOV  A, L
            MVI  L, 000h
            DAD  D
            RLC
            RLC
            RLC
            RLC
            ANI     00Ch
            PUSH B
            MOV  C, A
            MVI  A, 010h
            ORA  C
            POP  B
            DI
            OUT     010h    ; подключаем КД
            SPHL
            LHLD    0DED5h
            XRA  A
            MVI  C, 020h
    L_058C: POP  D          ; грузим в цикле
            ADD  E
            ADD  D
            MOV  M, E
            INX  H
            MOV  M, D
            INX  H
    ;
            POP  D
            ADD  E
            ADD  D
            MOV  M, E
            INX  H
            MOV  M, D
            INX  H
    ;
            DCR  C
            JNZ     L_058C
            MOV  C, A
            MVI  A, 000h   ; отключаем КД
            OUT     010h
            LHLD    0DED0h
            SPHL
            EI
            MOV  A, C
            PUSH PSW
            PUSH D
            LXI  H, 00000h
            DAD  SP
            SHLD    0DED0h
            LDA     0DED3h
            MOV  L, A
            MVI  H, 000h
            DAD  H
            DAD  H
            DAD  H
            DAD  H
            MVI  A, 0F0h
            ADD  H
            MOV  H, A
            LDA     0DED4h
            DCR  A
            ADD  A
            ADD  L
            MOV  L, A
            MVI  A, 01Ch ; подключаем КД
            DI
            OUT     010h
            SPHL
            POP  D
            MVI  A, 000h ; отключаем КД
            OUT     010h
            LHLD    0DED0h
            SPHL
            EI
            XCHG
            POP  D
            POP  PSW
            CMP  H
            JNZ     L_061D
            SUB  L
            JZ      L_061E
    L_061D: MVI  A, 0FFh
    L_061E: POP  D
            POP  B
            RET
    ;
    Lx04E8: MVI  A, 000h
            JNZ     L_04FE
            LXI  H, 0FF00h
    L_04E9: PUSH H
            LXI  D, L_0500 ; ссылка на строку "OS    COM"
            MVI  C, 00Ch
    L_04EF: LDAX D
            CMP  M
            MVI  A, 000h
            JNZ     L_04FD
            INX  D
            INX  H
            DCR  C
            JNZ     L_04EF
            DCR  A
    L_04FD: POP  H
    L_04FE: ORA  A
            RET
    ;
    L_0500:.db 000h  ; <_>
           .db 04Fh  ; <O>
           .db 053h  ; <S>
           .db 020h  ; < >
           .db 020h  ; < >
           .db 020h  ; < >
           .db 020h  ; < >
           .db 020h  ; < >
           .db 020h  ; < >
           .db 043h  ; <C>
           .db 04Fh  ; <O>
           .db 04Dh  ; <M>
           .END
    Программка-перемещалка для возможности запуска с адреса 0100h
    Код:
            .ORG    00100h
    L_0100: LXI  H, 0038h    ; адрес для ПП прерываний RST7
            MVI  A, 0C9h     ; записываем туда код RET
            LXI  H, 013Ch    ; сколько
            LXI  D, L_1000+3 ; откуда
            LXI  B, 07E00h   ; куда
    L_018C: LDAX D           ; переброска данных
            STAX B
            INX  D
            INX  B
            DCX  H
            MOV  A, L
            ORA  H
            JNZ     L_018C
    L_1000: JMP     07E00h   ; запускаем то, что перебрасывали
    ;
            .END
    Инструкция по сборке:
    1. Компилируем оба фрагмента
    2. Копируем бинарники в один файл, сначала модуль перемещения, а потом загрузчик, например, так:
    Код:
    copy /b MOVER.obj+BOOTKD.obj BOOTKD.rom
    [свернуть]
    Архив с откомпилированным и собранным загрузчиком: BOOTKD.7z
    После загрузки просто запускаем по БЛК-СБРОС и если на КД записана ОС, то она сразу стартует.

    Сам код взял из загрузчика BOOT45, сильно не оптимизировал, почти всё оставил, как было, главное -- он работает.

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Или вот вариант сокращенный до одного блока
    Вложения Вложения

  7. #6

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашёл небольшой косяк в своей схеме КД: если попытаться присоединить два и более КД к Вектору, то они работать не будут. Причина в D12.D, выходы этой микросхемы нельзя объединять по схеме "монтажное И", для этого требуется микросхема с открытым коллектором на выходе. Можно, конечно, заменить 74HC86 (кр1564лп5) на 74ALS136 (кр1533лп12), подтянув к плюсу все четыре её выхода, но я решил пойти другим путём, а именно для сигнала БЛК использовать одиночный буфер SN74LVC1G07DBVR, а микросхему D12 оставить только для выбора адреса КД. Впаял этот буфер "на соплях" с предыдущий вариант схемы диска -- всё работает. Вот обновлённая схема:

    Нажмите на изображение для увеличения. 

Название:	kd_sram12.jpg 
Просмотров:	210 
Размер:	22.3 Кб 
ID:	67881

    Более качественный вариант картинки

    [свернуть]

    И архив со схемой, разводкой платы и гербер-архивом для изготовления: kd_sram12.7z
    Примечание: На втором и всех последующих подключаемых квази-дисках сопротивление R3 ставить не обязательно.
    Последний раз редактировалось Improver; 30.01.2019 в 13:06.

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    electroscat(20.04.2020)

  8. #7

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Небольшой отчёт по работе КД:
    -- Подключил аккумулятор от старого МР3-плеера (ёмкостью всего 210мА/ч), с ним информация на КД сохраняется уже более трёх месяцев. Первоначально вольтаж аккумулятора был 4,07В, сейчас показывает ровно 4,00В, т.е. потребление минимально, на уровне саморазряда. С учётом того, что комбодевайсах используются аналогичные микросхемы памяти, там тоже можно сделать такое квази-постоянное хранение информации на квазидиске. Можно ещё добавить готовую платку для подзарядки аккумулятора при включении Вектора, хотя, думаю, с таким потреблением в выключенном режиме это становится не обязательным.

    -- Собрал второй КД, на плате от 11-й версии с соответствующими исправлениями. Квазидиск заработал сразу и без ошибок, в том числе и в паре с первым. Единственная программа, которая умеет работать с несколькими дисками, это тест "Дождь", вот как это выглядит:

    Дождь

    Нажмите на изображение для увеличения. 

Название:	IMG_20190413_205616~.jpg 
Просмотров:	229 
Размер:	62.4 Кб 
ID:	68780
    [свернуть]

    Заметил, что при наличии нескольких квазидисков Дождь тестирует их не самым оптимальным образом, по очереди, хотя можно было бы, например, совместить запись сразу на все КД... Но это уже не принципиально, т.к. массовое производство и тестирование дисков нам не грозит.

    Ну и напоследок, несколько фоток "бутерброда" из двух квазидисков:

    Фотки КД

    Вид со стороны Вектора:
    Нажмите на изображение для увеличения. 

Название:	IMG_20190413_205948~.jpg 
Просмотров:	218 
Размер:	60.4 Кб 
ID:	68781
    Справа можно разглядеть платку с дополнительным буфером для линии "БЛК". Аккумулятор держится просто на двухстороннем скотче.

    Вид со стороны микросхем:
    Нажмите на изображение для увеличения. 

Название:	IMG_20190413_210025~.jpg 
Просмотров:	244 
Размер:	99.0 Кб 
ID:	68782

    И вид в торец "бутерброда":
    Нажмите на изображение для увеличения. 

Название:	IMG_20190413_210120~.jpg 
Просмотров:	256 
Размер:	58.0 Кб 
ID:	68783
    [свернуть]

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    electroscat(20.04.2020)

  9. #8

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ему в режиме хранения 3V хватит?
    Может проще "таблетку" впаять вместо аккумулятора?

  10. #9

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,064
    Спасибо Благодарностей отдано 
    581
    Спасибо Благодарностей получено 
    469
    Поблагодарили
    252 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    А ему в режиме хранения 3V хватит?
    Вполне. В даташите это напряжение и указано, как необходимое для хранения данных.

    Может проще "таблетку" впаять вместо аккумулятора?
    Пока ждал из Китая крепление для CR2032, припаял аккумулятор, да так и оставил. На втором КД попробую с таблеткой, отпишусь потом о результатах.

  11. #10

    Регистрация
    30.05.2018
    Адрес
    г. Омск
    Сообщений
    9
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собрал КД работает!!! автору респект. Если кто будет заказывать платы в Китае обратите внимание на маску контактов микросхем, мешает паять.

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ПК8000 - Софт: Старый и Новый
    от ivagor в разделе ПК8000
    Ответов: 344
    Последнее: 08.11.2025, 06:55
  2. Старый-Новый Язык Noahsoft PL65
    от ezswift в разделе Atari
    Ответов: 25
    Последнее: 19.04.2023, 09:32
  3. Новый старый ZX-Next: сборка, тестирование, производство.
    от ZXFanat в разделе Несортированное железо
    Ответов: 51
    Последнее: 01.10.2011, 08:41
  4. про новый-старый спектрум
    от xailar в разделе ZX Концепции
    Ответов: 3
    Последнее: 06.12.2010, 10:42
  5. ПК8000 - Квазидиск
    от Mick в разделе ПК8000
    Ответов: 86
    Последнее: 13.10.2008, 19:17

Ваши права

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