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

User Tag List

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

Тема: Fast PC-Loader

  1. #1
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Fast PC-Loader

    Fast PC-Loader

    Предлагаю вместе разработать устройство для БЫСТРОЙ загрузки данных с PC. Ожидаемое время загрузки 48К порядка нескольких секунд. Время зависит от скорости чтения данных из порта FE. Принцип я придумал. Теперь надо его реализовать. Времени и знаний на все у меня не хватит. Поэтому, кто знает/может вносите свой вклад в общую разработку.

    Назначение

    Для быстрой загрузки данных с PC во время отладки программ. Например, пишу я программу для новой видеокарты "Meteor Graphics". Эмулятора на PC для нее нет. Я могу через "Fast PC-Loader" загрузить очередную версию программы и посмотреть, как она работает на компьютере с видеокартой. Также можно отлаживать и программы для других устройств.

    Принцип работы
    После нажатия кнопки на устройстве "Fast PC-Loader" микроконтроллер передает сигнал, аналогичный файлу загрузки с магнитофона на стандартной скорости. Формат передачи сигналов по определенным временным интервалам для бита 0 и 1.
    При этом в Спектрум по команде LOAD "" ENTER загружается программа на BASIC-е с блоком данных.
    После этого микроконтроллер переходит к другому, более быстрому режиму работы. По сигналу чтения из порта FE микроконтроллер передает очередной бит данных на цифровой вход TAPE-IN порта FE. То есть Z80 начинает принимать данные на максимальной скорости с аппаратной синхронизацией битов. Принял один бит данных - микроконтроллер тут же подготовил следующий.
    Микроконтроллер AVR принимает данные с PC через UART. При необходимости приостанавливает прием, а потом продолжает.
    Z80 может при загрузке делать паузы, в это время микроконтроллер ждет. Ограничение - во время загрузки не надо читать из порта FE.

    HardWare
    Плата KEYB&SINC с микроконтроллером ATMEGA48.
    Плата USB-UART с микросxемой FT232 (для соединения PC и микроконтроллера через UART).

    Подключение к Спектруму
    В схему Спектрума добавляется тумблер на вход порта FE для выбора источника сигнала: с аналогового формирователя TAPE-IN или с устройства «FAST PC-Loader».
    На стенку корпуса Спектрума устанавливается разъем типа DB-9F, на который заводятся проводами сигналы: сигнал чтения из порта FE, сигнал данных с Loader-a на тумблер, +5V, GND.

    Что нужно найти/придумать/сделать
    + Выбрать железо для прототипа
    + Принцип работы устройства
    + Вычислить максимальную скорость загрузки данных из микроконтроллера в Z80 (4.26 секунды на 48 килобайт данных)
    + Выбрать скорость передачи данных через UART (115200)
    Написать текст программы загрузчика на BASICe
    + Написать подпрограмму загрузки 256 байтов (нужно замедлить раза в 4)
    Преобразовать программу на BASIC-е в текстовой файл с байтами для помещения в микроконтроллер
    Найти описание формата файла ZX Spectrum и временные диаграмы для передачи загрузчика из МК
    Найти формат файлов .SNA
    Программу на ассемблере Z80 для загрузки .SNA
    Программу на PC для отправки файла .SNA через последовательный порт
    Алгоритм работы программы для микроконтроллера
    Кодирование программы для микроконтроллера
    Пайка прототипа и тестирование
    +Разработка плат для конструктора
    +Приобретение деталей для конструкторов
    Распространение конструкторов

    Ссылки по теме:
    Определение скорости загрузки: 1 и 2
    Пример кода для загрузки данных по 4 бита
    Определение UART Baud Rate

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

  3. #2
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Я имею ввиду БЫСТРУЮ загрузку программы после компиляции с PC для запуска на Спектруме. Например, получил после компиляции образ .SNA, в этом же BAT-файле, который управляет компиляцией добавил запуск программы для передачи через USB-UART. Подключение в цифровом виде к любому Спектруму через магнитофонный вход. Ожидаемое время загрузки 48К порядка нескольких секунд.

  4. #3
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    9,938
    Благодарностей: 3437
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Я имею ввиду БЫСТРУЮ загрузку программы после компиляции с PC для запуска на Спектруме. Например, получил после компиляции образ .SNA, в этом же BAT-файле, который управляет компиляцией добавил запуск программы для передачи через USB-UART.
    Мало смысла в том, чтобы вести разработку именно на железном спеке. В основном все делается в эмулях, а уже финальный релиз проверяется на железе, если надо.

  5. #4
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Представляю сколько каждый раз после изменений кода ждать нужно будет...
    Низкая скорость работы через магнитофон - это преувеличение. В играх с турбо загрузкой скорость порядка 30 секунд. И это я еще попросил сделать самую медленную скорость, на которую способна программа. Для надежности считывания с MP3-плееров через аналоговую схему. При этом данные читаются через определенные промежутки времени и аналоговый интерфейс.

    Я предлагаю убрать при загрузке фактор времени. Теперь данные не надо определять по длительности сигнала. И передавться в Спектрум они будут в цифровом виде, минуя аналоговые схемы. Как только очередной бит считан - тут же можно читать следующий. Теперь посчитайте скорость.

    ---------- Post added at 11:38 ---------- Previous post was at 11:36 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Мало смысла в том, чтобы вести разработку именно на железном спеке. В основном все делается в эмулях, а уже финальный релиз проверяется на железе, если надо.
    Это понятно, но если появилась видеокарта или любое другое устройство, которое пока нельзя проверить в эмуляторе ? Как для этого загружать очередную версию игры ? Через эмулятор дисковода - переставлять SD-карты ? Это достаточно утомительно. Лучше соединить два компьютера кабелем и после компиляции на PC автоматически отправлять новую версию на реал.

  6. #5
    Member
    Регистрация
    15.01.2005
    Сообщений
    175
    Благодарностей: 50
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    может Kempston использовать?
    4 бита за раз, щелкая оставшийся 1 бит как признак нового полубайта...

  7. #6
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    может Kempston использовать?
    4 бита за раз, щелкая оставшийся 1 бит как признак нового полубайта...
    Можно, но дальнейшая оптимизация по скорости не особо нужна, если требует усложнений. Ведь Кempston нужен для игры. Хотя для отладки можно и отключить.

    Но, на мой взгляд ускорение до 5 секунд - это уже хорошо.

  8. #7
    Member
    Регистрация
    15.01.2005
    Сообщений
    175
    Благодарностей: 50
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так пусть кемпстон висит как был, - передача с pc - просто типа "параллельные" основным кнопки джойстика нажимаются... )))

  9. #8
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #9
    Member
    Регистрация
    15.01.2005
    Сообщений
    175
    Благодарностей: 50
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну, одно дело - внешний "разветвитель" джойстика воткнуть, а другое - внутрь компа лезть

  11. #10
    Guru Аватар для zst
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    2,753
    Благодарностей: 814
    Записей в дневнике
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    ну, одно дело - внешний "разветвитель" джойстика воткнуть, а другое - внутрь компа лезть
    Можно вход TAPE IN оставить без изменений аналоговый, а вывести наружу через диоды 4 бита данных с кемпстона и 1 сигнал чтения из порта кемпстона. Так даже лучше - опрос клавиатуры не будет мешать загрузке. Можно будет использовать Press Any Key для продолжения. И скорость загрузки увеличится в 4 раза.

    Можно разъем для подключения кемпстона DB-9M установить на корпусе устройства "Fast PC-Loader". А к Спектруму подключать через разъем, на котором будут все нужные сигналы.

    Может кто-нибудь вычислить скорость загрузки по 4 бита за раз ?

Страница 1 из 4 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Fast test AY
    от jerri в разделе Программирование
    Ответов: 3
    Последнее: 07.11.2013, 18:09
  2. Basic Loader Creator
    от Faster в разделе Софт
    Ответов: 39
    Последнее: 10.07.2013, 14:09
  3. Fast Tracker
    от GibbS в разделе Музыка
    Ответов: 5
    Последнее: 27.11.2008, 09:29
  4. Mod Loader 4 GS
    от breeze в разделе Программирование
    Ответов: 19
    Последнее: 20.10.2008, 15:13
  5. Fast 48x48 MUL | DIV
    от Sinus в разделе Программирование
    Ответов: 6
    Последнее: 05.07.2005, 15:00

Ваши права

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