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

User Tag List

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 21 по 30 из 63

Тема: Чтение TAP файлов ZX-Spectrum на базе STM32F407

  1. #21
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Была ещё платка stm32. Собрал на макетке.

    Отправлено с моего A0001 через Tapatalk

  2. #22
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию



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

    Вот что вышло. Ошибка при окончании загрузки.
    Синхра как должна быть с ноля в еденицу ?

  3. #23
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пилоттон, потом 1 нолик для синхры а потом данные. В конце после вывода последнего полупериода оставлять уровень без изменений.

    PS Было бы круто добавить детонацию от ролика, чтобы оно так тепло и лампово раккорд тянуло ууу-ооо--уууу-оооо... Я помню, это не сильно влияло на качество загрузки.

  4. #24
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это пьезопищалка так старается.....

    Проверил и с единицей в ноль и с нулем в единицу все равно в конце ошибку сыпит. Могу код скинуть.
    Вот скрины анализатора.
    это конец файла при синхре с нуля в еденицу

    синхро




    это при синхре единица в ноль

    синхро


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

    ps
    У меня STM32 логика 3.3 В
    Подключаю напрямую с выхода контроллера ко входу zx spectrum
    В спектруме загрузщик не распаян(арлекин 48)
    я подключил напрямую ко входу микросхемы.
    Может нужна какая развязка?
    Последний раз редактировалось san010101; 17.10.2017 в 05:57.

  5. #25
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию


    Загрузка Диззи
    Запускается с музыкой и виснет в игре

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

    Вообще файлы грузятся по разному, одни через пару блоков R tape error выдают другие могут загрузится и зависнуть

  6. #26
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,767
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    770 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в некоторых загрузчиках нет проверки на ошибку, поэтому софт может быть частично работоспособный.
    а у тебя похоже сбой на длинных блоках.
    проще проверить грузя данные в какой-нибудь копировщик
    (он хоть покажет ошибку контрольной суммы)
    как вариант можно сделать verify code (например с ПЗУ)

  7. #27
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,640
    Спасибо Благодарностей отдано 
    241
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от san010101 Посмотреть сообщение


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

    Вот что вышло. Ошибка при окончании загрузки.
    Синхра как должна быть с ноля в еденицу ?
    Синхра это два полупериода заданной длины - 667 тактов/735 тактов. Для стандартного загрузчика полярность не важна.

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

    А другие прерывания, кроме от таймера, не могут произойти?

  8. #28
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот и думаю как проверить. Пока нужно отработать алгоритм. У меня каждый байт с карты читается. Без буферизации. Возможно в этом причина. Тестирую сейчас копировщиком для ленты.

  9. #29
    Activist Аватар для san010101
    Регистрация
    18.11.2015
    Адрес
    г. Красноярск
    Сообщений
    271
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    [IMG][/IMG]
    отловил глюк анализатором

  10. #30
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ты как формируешь то периоды? По CAPT или просто настраиваешь таймер на следующее событие?

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

    А, вижу код страницей ранее. Думаю, у тебя достаточно сложное дерево алгоритма в обработчике прерываний. Я бы каждый блок "рендерил" в битстрим в ОЗУ а по таймеру протягивал его на порт (собственно, я так и делаю в программе на РС). Но и это не главное. Главное, что ты упустил вот это:
    Код:
    void xIRQ()
    {
    	uint16_t Events;
    ***
    	// Сохраним список евентов и подтвердим обработку
    	Events = TIM3->SR; TIM3->SR = 0x0000;
    	// Это евент каптуры CAPT3
    	if (Events & TIM_SR_CC3IF)
    ***
    	// Это евент каптуры CAPT1
    	if (Events & TIM_SR_CC1IF)
    ***
    И так далее. У тебя может стрелять другое событие. Следует разделять события, ведь на них всех всего один общий обработчик.

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 0
    Последнее: 12.01.2017, 11:00
  2. Ответов: 10
    Последнее: 30.05.2014, 11:58
  3. Конвертор TAP файлов
    от dM_GBG в разделе Софт
    Ответов: 1
    Последнее: 22.11.2011, 11:01
  4. чтение файлов MS-word
    от p@lex в разделе Софт
    Ответов: 17
    Последнее: 22.12.2007, 09:42
  5. Как в Unreal ускорить загрузку TAP файлов?
    от lavstudio в разделе Эмуляторы
    Ответов: 1
    Последнее: 19.02.2005, 01:50

Ваши права

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