Важная информация

User Tag List

Страница 1 из 32 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 316

Тема: ПК8000 - загрузка с внешних носителей

  1. #1
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ПК8000 - загрузка с внешних носителей

    схема и печатная плата в diptrace контроллера вичестера для ПК8000 здесь
    прошивка ПЗУ и утилиты здесь
    замечания по печатке: не забываем ставить перемычку 20-16 на разъем ПК8000. конденсатор С9 47-1000пФ желателен, у меня без него плата не завелась.
    автор всего этого щастья DemonId7, за что ему большое спасибо
    Последний раз редактировалось hantarex; 03.04.2015 в 10:07.

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

    cy6 (02.05.2020)

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

  4. #2
    Member Аватар для demetrius2003
    Регистрация
    29.09.2010
    Адрес
    Новокузнецк
    Сообщений
    156
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ога! Согласен. Осталось найти её рабочую в железе
    И да! То, что есть в эмуляторе b2m - варианты disk и kdos это вообще что?
    Где можно почитать о cp/m? Может есть доки по программированию под cp/m?
    Что такое pk8000_ngmd.bin и ramdos.sys?
    Закончу дизассемблировать ПЗУ возьмусь плотнее за cp/m.

  5. #3
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://www.seasip.demon.co.uk/Cpm/
    http://www.cs.ucr.edu/~stelo/cpm/
    http://www.retroarchive.org/cpm/
    http://www.cpm.z80.de/

    доступно все мануалы и даже оригинальные исходники
    не говоря уж про кучку дизассмов

  6. #4
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал на железе. Определяется без проблем. А вот с процедурой считывания 16-ти битных данных пока проблемы. Явно первый байт считывается нормально, а следующий уже "нагло врет". Видимо в промежутке между считываниями пропадает сигнал /RD на винт, а тот воспринимает это как квитирование и выставляет следующие пару байт на линию. Видимо накосячил в коде

  7. #5
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а в каком режиме ВВ55 работает?

  8. #6
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В режиме 0. Других я не знаю.
    Кажется понял в чем проблема. У меня чтение 16-ти битного слова оформлено в виде отдельной подпрограммы:
    Код:
    ; на входе:
    ;   A           - номер порта, откуда читаем
    ; на выходе:
    ;   HL          - принятые данные
    hdd_In:
            push    B
            mov     B, A
            mvi     A, 92h
            out     PORTCMD         ; A, B - ввод, C - вывод
            mov     A, B
            ani     00000111b       ; оставляем только биты адреса порта
            ori     01000000b       ; set /RD /CS
            out     PORTC
            in      PORTA
            mov     L, A            ; LO(data) = port[A]
            in      PORTB
            mov     H, A            ; HI(data) = port[B]
            mvi     A, 11100111b    ; отключаем устройство
            out     PORTC
            pop     B
            ret
    Судя по всему проблема возникает при групповом чтении. Наверное установку режима нужно вынести за цикл. Попробую, как только смогу.

  9. #7
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну да, установку режима выносим за цикл. и зачем каждый раз винт отключать?
    вроде надо только /RD дергать?

    1. проверяем готовность винта
    2. пишем головки/цилиндры/сектора
    3. пишем команду чтения
    4. в цикле читаем 256 слов, стробируем /RD
    я так делаю.

    есть еще прикольная команда ECh - получить параметры диска, также считывается 256 слов, но как расшифровывать эти данные я не в курсе видимо, плохо искал
    Последний раз редактировалось hantarex; 18.04.2014 в 09:15.

  10. #8
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я и пробую EC. Только вместо ожидаемых параметров винта приходят какие то левые значения.
    Попробовал выдрать код из оригинала. Результат тот же самый - левые данные. Да и не понимаю, как он вообще работает на MSX? Там же ошибка на ошибке Почему при ожидании готовности винта используется:
    bit 0,c
    jr z,erexpl ;explain error
    ? Бит 0 (ERR) вроде бы устанавливается в единицу при ошибке, а здесь уход на ошибку при его нулевом значении. Толи я стандарт неправильно помню, толи автор использовал какой то трюк, недоступный моему пониманию. Это не говоря о том, что при старте есть возможность уйти на цикл чтения 512 байт, в то время как HL не инициализирован!
    В общем, сдуваю пыль со старой двоечки и отлаживаю на ней подпрограммы чтения/записи и идентификации, тем более нашел свои старые исходники (должны быть рабочими). Затем просто портирую на ПК. Если и так не заработает, значит действительно схема неудачная и придется переходить на проверенную от вектора. Можно еще попробовать вернуться к схеме оригинала, где управление CS по линии A2. Тут переделки то на пару раз ткнуть паяльником
    Надеюсь вечером все успею сделать и будут уже определенные результаты.

  11. #9
    Activist Аватар для hantarex
    Регистрация
    03.08.2010
    Адрес
    Ставрополь
    Сообщений
    286
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    насчет контроллера от Вектора я думал, но у меня нет ИР23 и заказывать м/с буду нескоро. еще у Вектора шина адреса инвертирована, но это небольшая проблема.
    кстати, порты 50h+ выбрал именно по аналогии с Вектором
    Последний раз редактировалось hantarex; 18.04.2014 в 10:05.

  12. #10
    Activist
    Регистрация
    18.02.2010
    Адрес
    г. Пенза
    Сообщений
    401
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я о том контроллере еще год назад думал, даже схэму начертал. ИР23 у меня штук 6 точно есть, так что, если что, могу поделиться
    Собственно схема, по которой хотел делать контроллер:
    idectrl.rar
    Последний раз редактировалось DemonId7; 19.04.2014 в 09:43.

Страница 1 из 32 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ПК8000 - Клавиатура
    от Mick в разделе ПК8000
    Ответов: 59
    Последнее: 10.03.2024, 15:18
  2. ПК8000 - Ремонт
    от Mifody в разделе ПК8000
    Ответов: 106
    Последнее: 09.03.2023, 01:20
  3. Набор платок внешних периферийных устройств для спектрума.
    от zorel в разделе Несортированное железо
    Ответов: 70
    Последнее: 31.08.2015, 23:02
  4. куплю пк8000
    от omaxlab в разделе Барахолка (архив)
    Ответов: 26
    Последнее: 02.07.2012, 21:44
  5. Тул для конвертации образов носителей
    от Alex Rider в разделе Утилиты
    Ответов: 22
    Последнее: 05.05.2012, 16:25

Ваши права

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