User Tag List

Показано с 1 по 10 из 88

Тема: SD-ROM Картридж

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

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

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

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    esl, я примерно догадываюсь, о предлагаемом способе загрузки данных.
    Но artyr_n уже писал, что в загрузчике Вектора нет такого алгоритма, а весь фокус - сделать картридж работающий на "стандартном" загрузчике.
    я всё время и пишу про способ совместимый со стандартным ПЗУ
    точнее так
    он будет загружаться стандартным пзу
    но дальше уже должно быть всё самописное.


    даже полез исходники смотреть

    для определённости
    http://asdasd.rpg.fi/~svo/scalar/ware/888/

    вот код загрузчика (цифра - такты)
    Код:
            lxi     b,0
            lxi     h,0x8000
    ROM_LOAD:
    ;младший адрес
            mov     a,l     ;5
            out     7       ;10     PA
    ;старший адрес
            mov     a,h     ;5
            out     5       ;10     PC
    
    ;чтение байта ROM
            in      6       ;10     PB
            stax    b       ;5
    
            inx     h       ;5
            inx     b       ;5
    
            mov     a,b     ;5
            cpi     80h
            jnz     ROM_LOAD
            jmp     start
    я собственно про что всё время говорю
    что т.к. в коде нет никакой синхронизации (т.к. там ПЗУ стоит)

    смотрим код, между записью старшего байта паузы НЕТ ВООБЩЕ

    смотрите в коде
    OUT 5 ;записали старший байт
    <<<<<<<<<<<<<<<<<<<вот тут вы должны успеть всё сделать обычным образом.
    IN 6 ;прочитали байт данных

    т.е. нет паузы вообще на тот код который я приводил как "стандартный"
    (читать байтики из двух портов и вытаскивать байт из масива.)

    также этот код не делает проверок вообще, и грузит насильно 32к
    (может в более навороченных есть проверки но мне уж точно лень смотреть, хотя пищущему такое нужно точно знать)
    мы точно знаем сколько он будет грузить.

    мой способ с контролью изменения A0 точно будет работать

    объясню еще раз
    младший байт тут меняется как 00,01,02,03,04,05,06
    соответственно A0 -> 0,1,0,1,0,1,0,1
    мало того очень удачно что младший байт задаётся первым
    т.е. после его записи есть пауза 15 тактов
    (или можно исхитрится что пауза будет весь хвост с inx,cpi,jmp)

    времени у однокристалки должно хватитить на:
    подождать изменения и записи байта данных
    посде этого можно подготовить следующий т.к. есть чуть больше пауза.

    p.s. или я не понимаю о чём мы говорим
    Последний раз редактировалось esl; 23.12.2014 в 01:31.

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

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

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

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

Похожие темы

  1. 16КБ C64 картридж
    от greenpill в разделе Commodore 16/64/128
    Ответов: 37
    Последнее: 13.05.2015, 01:43
  2. Ответов: 2
    Последнее: 15.12.2010, 17:04
  3. Картридж NES и денди
    от REMR в разделе Nintendo
    Ответов: 3
    Последнее: 18.10.2010, 19:29
  4. Что за картридж?
    от murgatroid_79 в разделе Зарубежные компьютеры
    Ответов: 1
    Последнее: 20.05.2010, 10:01
  5. Flash-картридж...
    от Elya в разделе Память
    Ответов: 1
    Последнее: 20.08.2009, 14:49

Ваши права

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