User Tag List

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 11 по 20 из 44

Тема: Очередной однобитный велосипед для спектрума

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

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

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    через кемпстон (с вариантом выбора через синклер) зато можно же грузить сразу по 4-5 бит! а обратку через tapeout пустить отдельно
    До четырёх и пяти считать умею.
    Но на самом деле это не ускорит в 4 раза:
    - ардуинка не шибко быстрое устройство. Она должна ещё на флешку лазить за данными. В это время Z80 будет простаивать.
    - у Z80 вроде не было команды "обменять нибблы", а значит придётся делать 4 сдвига. Исправлено - команда была. Но она тормозная и малость неудобная. Так что в нашем случае это как бы без разницы.
    - непонятно что будет в старших битах - придётся выделять маской младшие.
    - в примерах ещё я контрольную сумму не считаю, это тоже будет замедлением.

    В общем, в два раза гарантированно ускорится, а может быть даже в три. Но это потребует увеличение количества проводков практически в 2 раза, это потребует хитрый штеккер или переключатель чтобы ардуинка не дай бог вошла в конфликт с джойстиком и коротнула (про нормально замкнутые джойстики не забываем)

    Через синклер тоже может быть каша в дешифрации (здесь честно скажу я схему не рассматривал, могу ошибаться). Тоже не хочется чтобы случайно нажатая клавиша приводила к ошибке загрузки. Или даже более того - порче переданной команды (вместо найти файлы по маске *.* ардуинка получит команду удалить файлы по маске *.*)

    Так что выигрыш с кемпстоном не большой (ну ускорим загрузку на 3 секунды), а проблем можно поиметь целую катушку.
    Опять же чисто риторический вопрос - стали бы вы полчаса разбираться со схемой, чтобы сэкономить три секунды на загрузку?

    P.S. Читал что в конце эпохи спектрума фирма Codemasters делала какой-то девайс для кемпстона. С помощью которого с CD-диска игры грузились гораздо быстрее... но думаю это не наш случай.
    Последний раз редактировалось mmxdmv; 02.03.2017 в 00:30.

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

  3. #2

    Регистрация
    03.06.2007
    Адрес
    Вологда
    Сообщений
    41
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mmxdmv Посмотреть сообщение
    P.S. тема родилась как возможное решение проблемы загрузки бета-бейсика , а также сохранением программ на флешку.
    Как бы если есть вариант проще и дешевле - рекомендуйте. И с чистой совестью похороним эту тему.
    Думаю, лучше всего было бы сделать эмулятор микродрайва на ардуино+SDcard, чтоб и чтение и запись, и прочие команды работы с микродрайвом работали.
    Подключать - через порт расширения, ведь при его отсутствии необходимые проводочки можно прямо к процу подпаять, если я не ошибаюсь.
    Про эмуляцию BetaDiskInterface на ардуино я даже мечтать себе не позволяю.
    У меня есть раздолбанная плата BDI, на которой нет ни ВГ93, ни ПЗУ, сохранилось лишь немного микросхем логики. Восстановить её не смогу, ввиду отсутствия у меня ВГ93 и ПЗУ.
    Поэтому занимаюсь мечтаниями о ром-диске или подключении ардуино, а пока что гружу со смартфона турбированные версии бета-бейсика, паскаля и ZEUS ассемблера, программки сохраняю приложением Супер Диктофон.

  4. #3

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hal99 Посмотреть сообщение
    Думаю, лучше всего было бы сделать эмулятор микродрайва на ардуино+SDcard, чтоб и чтение и запись, и прочие команды работы с микродрайвом работали.
    Возможно и лучше. Только бяка в том что микродрайв - это ZX-Interface I, то есть эмулировать придётся не "проводочек" а целую плату размером со спектрум.

    Цитата Сообщение от hal99 Посмотреть сообщение
    У меня есть раздолбанная плата BDI, на которой нет ни ВГ93, ни ПЗУ, сохранилось лишь немного микросхем логики. Восстановить её не смогу, ввиду отсутствия у меня ВГ93 и ПЗУ.
    ВГ93 вернее какие-то их аналоги продавались на форуме. С ПЗУ тоже проблем не должно быть, в крайнем случае выковырять из старых материнок от ПК. Про эмулятор дисковода на AVR была великолепная тема

    Цитата Сообщение от hal99 Посмотреть сообщение
    Про эмуляцию BetaDiskInterface на ардуино я даже мечтать себе не позволяю.
    На ардуино невозможно ничего хорошего сэмулировать.
    дело в том, что внутри "всего хорошего" имеется ПЗУ, а у шины данных тайминги-наносекундные. За сотни наносекунд Ардуинка банально не успеет начать прерывание,прочитать два байта адреса, найти данные в своей памяти, скормить их Z80 и закончить прерывание. Разве только разогнать её до 28 мегагерц и засинхронизировать со спектрумом.
    Вот у 32битного STM это вполне получится.

    Цитата Сообщение от hal99 Посмотреть сообщение
    Поэтому занимаюсь мечтаниями о ром-диске
    ROM-диск это вообще неправильная концепция (может применяться только как костыль). Правильно это когда программа работает напрямую с ПЗУ. Как пример - ни 48, ни 128 бейсик, ни даже TR-DOS не грузятся в оперативу, а работают прямо из ПЗУ. Ни на денди ни на сеге, кстати, картриджи тоже в оперативу не грузятся Разумеется, в наших с вами реалиях проще поставить костыль, чем адаптировать программы к ПЗУ.
    В теории можно сделать простой ром-диск из кнопки и большой ПЗУ... но там думать надо много и программировать.

    Цитата Сообщение от hal99 Посмотреть сообщение
    пока что гружу со смартфона турбированные версии бета-бейсика, паскаля и ZEUS ассемблера, программки сохраняю приложением Супер Диктофон.
    К сожалению, спектрум мне обещали только через месяц. Ну и в железках я не очень, не факт что быстро разберусь даже с пятью проводками.

  5. #4

    Регистрация
    17.03.2009
    Адрес
    Moscow
    Сообщений
    537
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    mmxdmv, с четырьмя справитесь?)
    Апну тему, ибо тут про "простые решения"
    Прикрутил сегодня SD к своему ленградоподобному просто на резисторах, без микросхем вообще. С порта fe взял пару бит с бордюра на cs и clk, данные на tape in и out. Согласующие резюки, питание 3.3 на транзисторе с диодом - железо готово!
    На основе софта из темы про контроллер путника - наваял пзушку с загрузкой картинки, прям с 0 сектора карты в экран. Про скорость вообще при написании не думал, абы как да чтоб заработало (под zilog вообще ничего длиннее десятка байт не писал, да и сейчас не сильно продвинулся)) - как итог - на 6.75 безвейтовых МГц .scr грузится чуть больше секунды.
    кагбэ пруф: https://www.youtube.com/watch?v=feVyd9lImbI
    Как замена магнитофону вполне имеет право на жизнь, как считаете?

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

    источник "вдохновения" тут:
    https://zx-pk.ru/threads/30904-cf-mo...=1#post1052424

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

    Цитата Сообщение от UncleDim Посмотреть сообщение
    Про скорость вообще при написании не думал
    собсно ключевые изменения вот:
    SD_FIN: ld A,0FFh ;
    SD_PUT: push af ;
    call SD_IO ;
    pop af ;
    ret ;
    SD_GET:
    ld a,0ffh
    SD_IO: ;in and out values in A
    push bc ;
    LD B,8 ;
    LD C,A ;
    sd_iob: in a,(0FEh) ; we are @mode 0, isn't it?
    rlca ;
    rlca ; sd_in -> CY
    ld a,008h ;
    bit 7,c ;
    jr nz, sdpb ;
    res 3,a ; msb out prepared
    sdpb: rl c ; msb in shifted into C reg
    out (0FEh),a ; bit 7 outed,
    set 2,a ;
    out (0FEh),a ;
    res 2,a ;
    out (0FEh),a ; and clocked
    djnz sd_iob ;
    ld A,C ;
    pop bc ;
    ret ;
    Последний раз редактировалось UncleDim; 05.08.2023 в 22:00.
    Profi v3.2 512K+color; Profi 6.2B; МС-0511

    Эти 3 пользователя(ей) поблагодарили UncleDim за это полезное сообщение:

    ALS(07.08.2023), Rio444(05.08.2023), solegstar(15.08.2023)

  6. #5

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если предположить что разрабатывается устройство для zx edge connector-а, то в схему такого устройства обычно ставят ROM (называют shadow rom) и порты и\или регистры отраженные на память в диапазоне 0-3fff, данного железа хватает чтобы читать\писать данные куда угодно (fdd, ide, mmc, serial т.д.). DivIDE, TRDOS, Interface1 все сделанны таким образом. Если чтото и делать то надо делать совместимым с существующими програмными интерфейсами (для того чтобы опять не переделывать загрущики...).

  7. #6

    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Если чтото и делать то надо делать совместимым с существующими програмными интерфейсами (для того чтобы опять не переделывать загрущики...).
    Уже давно изобретен "велосипед", см https://sites.google.com/site/interface1bis/home

    И на нашем форуме обсуждался не раз, ищите interface 1 bis

    Вот с полпинка нашел инфу на русском: http://microsin.net/adminstuff/other...rface1bis.html

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

    Правда дофига хотят - 44 евро...
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

  8. #7

    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    зачем обратка?
    4 бита данных (полубайт), а пятым щелкать 0/1 для синхронизации

  9. #8

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    зачем обратка?
    4 бита данных (полубайт), а пятым щелкать 0/1 для синхронизации
    Обратка нужна для скорости.
    Если Z80 будет считать синхронизацию, то цикл синхронизации должен быть БОЛЬШЕ (наверное раза в два или даже три) чем цикл чтения из порта.
    Если же Z80 будет тупо дёргать ногой "дай следующий байт", то синхронизироваться будет ардуинка, которая в разы быстрее.

    Короче с обраткой в 2-3 раза быстрее и в несколько раз проще.

    Да и в любом случае обратка нужна. Как вы объясните ардуинке что хотите поиграть в Dizzy?

  10. #9

    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а теперь покури команды RLD и RRD

  11. #10

    Регистрация
    06.02.2017
    Адрес
    г. Тольятти
    Сообщений
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    а теперь покури команды RLD и RRD
    Покурил.
    Признаю ошибку, команда есть в наборе Z80 (но народ жалуется что на некоторых клонах некорректно работает).
    Но на итог это не повлияет: команда выполняется ажно 18 тактов.
    Типа 4 раза сдвинуть аккумулятор - это 16 тактов

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. однобитный WAV
    от ALKO в разделе Софт
    Ответов: 26
    Последнее: 28.07.2021, 05:03
  2. Наборы для сборки Орион-128/запчасти для Спектрума.
    от falanger в разделе Барахолка (архив)
    Ответов: 15
    Последнее: 05.09.2007, 19:51
  3. Ответов: 11
    Последнее: 04.08.2006, 15:08
  4. Ответов: 21
    Последнее: 23.02.2005, 20:56

Ваши права

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