User Tag List

Страница 11 из 36 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 354

Тема: Корвет: ExtROM Open Source extender

  1. #101

    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    254
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    28 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лучше, действительно, добавить индикацию.
    Может сделать ее и для каких-нибудь других непредвиденных операций?
    Понятно, что нет смысла вешать диоды на каждую ногу или порт =), но, к примеру, показывать чтение-запись на флеш-память.
    Заодно мигать при включении, инициализации (флешка нашлась и определилась) и другом разном.
    Устройство, как я понял, планируется самодостаточное (без участия пк), пусть бы сигналило, что происходит.
    Может даже отладку на железе несколько упростит.
    Ну или если есть свободные ноги, какой-нибудь простой цифровой индикатор повесить.
    Парой индикаторов, да даже и одним, можно было бы показать много интересного онлайн, без необходимости лезть за логами на флешку.
    Только, пожалуйста, без "LCD от Нокии" =), усложнит схему до безобразия.
    Простые смертные то же хотят потом это собрать =)
    Последний раз редактировалось Serebriakov; 10.07.2014 в 23:49.

  2. #102

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

    По умолчанию

    по поводу runner - бага эмулятора ;(
    при чтении из порта 2C читались 0 кроме статуса SoundEnabled
    пофиксил
    на реальной железке не должно повторяться

    а RUNNER
    делает
    a=PPI2C
    a&=0b11110111
    PPI2C=a
    вместо нормального

    mvi a,6 (7)
    stax ppi2rus

    только делает это еще более медленно и многослова\но
    явно на ЯВУ писалось потому что ТАКОЕ нагенерить может только компилер
    оно еще для полного счасьтя и оверлейное

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

    Скрытый текст


    Код:
    RAM:0325 loc_325:                                ; CODE XREF: RAM:0316j
    RAM:0325                 ld      hl, _1C_PPI2C_
    RAM:0328                 push    hl
    RAM:0329 ;
    RAM:0329                 ld      hl, _1C_PPI2C_
    RAM:032C                 ld      d, 0
    RAM:032E                 ld      e, (hl)
    RAM:032F                 push    de
    RAM:0330 ;
    RAM:0330                 ld      hl, 11110111b   ; TURN OFF SOUND ENABLE
    RAM:0333                 pop     de
    RAM:0334                 ld      a, l
    RAM:0335                 and     e
    RAM:0336                 ld      l, a
    RAM:0337                 ld      a, h
    RAM:0338                 and     d
    RAM:0339                 ld      h, a
    RAM:033A ;
    RAM:033A                 ex      de, hl
    RAM:033B                 pop     hl              ; PPI2C
    RAM:033C
    RAM:033C XXX2:
    RAM:033C                 ld      (hl), e
    [свернуть]


    сорри за панику
    но тему она подняла правильную, завтра отпишусь по этому поводу.

    я думаю что софта который сбрасывает этот бит должно быть очень мало
    и имхо можно поставть тумблер для таки случаев "ОТКЛЮЧИТЬ BOOT"
    такой себе хардкор
    Последний раз редактировалось esl; 11.07.2014 в 01:27.

  3. #103

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Лучше, действительно, добавить индикацию.
    Может сделать ее и для каких-нибудь других непредвиденных операций?
    Я уже думал об этом. У нас пропадает более 10 ножек процессора, которые можно было бы для каких-нибудь целей использовать.


    Понятно, что нет смысла вешать диоды на каждую ногу или порт =), но, к примеру, показывать чтение-запись на флеш-память.
    Такая индикация уже есть - у меня же светодиод один висит на PB0. На ранних этапах я его использовал для отладки, а теперь он включается при входе в обработчик API, отключается при выходе. Получается типа лампочки на дисководе - весело помаргивает при обмене данными. Заодно, если программа недочитала из контроллера буфер - сразу видно по непогасшему светодиоду.

    Заодно мигать при включении, инициализации (флешка нашлась и определилась) и другом разном.
    Это я тоже планировал - сделать равномерное мигание с некоторой частотой в процессе ожидания загрузки. Поскольку PB0 - это еще и выход таймера T0. Впрочем, если повесить индикацию сигнала Control, то по нему и будет видно состояние загрузки.

    Устройство, как я понял, планируется самодостаточное (без участия пк), пусть бы сигналило, что происходит.
    Может даже отладку на железе несколько упростит.
    Для отладки железа там есть последовательный порт, на который выдается исчерпывающая информация. Но вот на что точно надо вешать индикацию - это на ошибки. Если нет карты, если на карте нет загрузчика 1 фазы или он не читается, итд - как-то надо показать. Или добавить третий - красный - светодиод, или как-то хитро помигать уже существующим. Я это уже начал обдумывать, в воскресенье сделаю в железе.

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

    Только, пожалуйста, без "LCD от Нокии" =), усложнит схему до безобразия.
    Вообще-то, LCD от нокии проще гораздо, чем семисегментный цифровой индикатор. Там всего 4 провода - DO, SS, CLK, C/D. Как на SD карте примерно. Уж 4 проводка любой начинающий запаяет. Хотя я ими пльзуюсь довольно широко в своих схемах, но тут, заметь, даже словом об этм не упоминал. Потому как старался делать как можно проще. Ну и сам LCD теперь не так просто добыть. Я покупаю их на ебее, уже прямо с несущей платой.

    Простые смертные то же хотят потом это собрать =)
    Вот и я о том же. Я думаю, ограничимся пока парой-тройкой светодиодов. Только надо функции придумать. Например так:

    1 - обращение к контроллеру от корвета
    2 - Control
    3 - индикация ошибок.

    По крайней мере, этого достаточно для отлова зависонов. А для более детального анализа - пдключаем через переходник к компорту РС и смотрим, что там происходит. Но это скорее для отладки железа нужно, не для работы.

    ---------- Post added at 07:18 ---------- Previous post was at 06:47 ----------

    Цитата Сообщение от esl Посмотреть сообщение
    по поводу runner - бага эмулятора ;(
    при чтении из порта 2C читались 0 кроме статуса SoundEnabled
    пофиксил
    на реальной железке не должно повторяться
    О, а я себе уже всю голову сломал - почему у меня на корвете все работало, хотя явно не должно. А вот оно как. Только
    a=PPI2C
    a&=0b11110111
    PPI2C=a
    по идее, должно раз и навсегда сбросить control, раз из порта С читались нули. А он дергался туда-сюда. Ну да ладно, разобрались с проблемой.

    только делает это еще более медленно и многослова\но
    явно на ЯВУ писалось потому что ТАКОЕ нагенерить может только компилер
    Ну вообщем да, писать такого уровня программы на ассемблере - это удавиться проще. Судя по твоему листингу ниже - операция AND делается с 16-битным числм DE, но потом используется только младший байт E. Человек такого никогда бы не написал. Но тут опять проявилось то самое разгильдяйство. Скорее всего, в коде было написано что-то вроде

    *PORTA&=mask;

    Причем mask описан как INT. Вот отсюда и монстр. Описали бы его как unsigned char - улжились бы в 3 инструкции. GCC в этом случае соптимизировал бы код, убрав лишние операции. А вот какой-нибудь C80 - он еще и сам кучу лишнего добавляет.
    Я сейчас на этом С80 пытаюсь писать - это прост АД. Такой древний диалект языка С уже лет 20 мне не встречался.

    не так уж много игр на корвете использует диск во время работы
    теперь надо их всех проверить.
    Я, еще когда с CP/N возился, обратил внимание, что игрушка KLAD открывает на диске какой-то DAT-файл. Но он не похож на оверлей - скорее всего, какая-нибудь таблица результатов. Но тоже надо бы проверить.

    я думаю что софта который сбрасывает этот бит должно быть очень мало
    и имхо можно поставть тумблер для таки случаев "ОТКЛЮЧИТЬ BOOT"
    такой себе хардкор
    Не, ну ведь тумблер - это не эстетично Проще сделать вызов API, запрещающий реакцию на Control. При этом в железке я просто отключу прерывание Int0, а в эмуляторе - добавишь еще один флаг к проверке при записи в PPI3 А. Ну и утилитку control с ключами -e и -d. При этом понимать, что при отключенном control перезагрузка возможна только отключением питания.

  4. #104

    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    254
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    28 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я уже думал об этом. У нас пропадает более 10 ножек процессора, которые можно было бы для каких-нибудь целей использовать.
    Повесить какой-нибудь AY-3-8910 ? =) Будет еще и звуковая карта в довесок =)
    А так может выделить какое-то количество ног и сделать какой-нибудь универсальный порт для подключения простых внешних устройств (порт корвета то будет занят теперь), для дальнейших экспериментов пригодится. Или нет смысла воротить комбайн?

    Цитата Сообщение от forth32 Посмотреть сообщение
    ... с учетом того, что она рассчитана на сборку далекими от электроники людьми
    Кстати, когда схему будете рисовать, будет просьба, по-возможности, указывать номиналы или название всех деталей.

    Цитата Сообщение от forth32 Посмотреть сообщение
    Вообще-то, LCD от нокии проще гораздо, чем семисегментный цифровой индикатор. Там всего 4 провода - DO, SS, CLK, C/D.
    Не знал. Как-нибудь закажу поиграюсь.

    Цитата Сообщение от forth32 Посмотреть сообщение
    Ну и сам LCD теперь не так просто добыть. Я покупаю их на ебее, уже прямо с несущей платой.
    В Китае стоит 2.5$ всего, вроде дефицита пока нет. Только ждать пару месяцев пока доедет.

  5. #105

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Повесить какой-нибудь AY-3-8910 ? =) Будет еще и звуковая карта в довесок =)
    А так может выделить какое-то количество ног и сделать какой-нибудь универсальный порт для подключения простых внешних устройств
    (порт корвета то будет занят теперь), для дальнейших экспериментов пригодится. Или нет смысла воротить комбайн?
    Гы. Atmega32 - это тебе не inte core i3 Тут нет никакой многозадачности. Мега полностью занята обработкой запрсов и драйвером VinxFS, вешать на нее что-то еще - это сразу потеря скорости дискового ввода-вывода. А она и так не особо высока. Короче...
    Во-первых, у нас полностью свободен порт B и 4 линии порта C PPI3. Этого, я думаю, вполне достаточно, чтобы повесить какой угодно контроллер. 8 линий данных, RD,WR, пара линий адреса. Управлять всем этим, конечно, надо с аккуратностью, чтобы не нарушить работу дискового канала. Но это 1 раз отладить драйвер и забыть о проблеме навсега.
    Во-вторых, у нас же тут типа Open Source У тебя есть полная схема и откомментированные исходники прошивки. Если потребуется - добавляй в API свои функции для каких угодно вещей, в том числе и по управлению неиспользованными ногами контроллера. А потом выкладывай сюда свои наработки - обсудим и включим в основную ветку. Я ведь уже писал - мы API только еще формируем, и приветствуются любые конкретные предложения.

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


    Кстати, когда схему будете рисовать, будет просьба, по-возможности, указывать номиналы или название всех деталей.
    Так я ее еще пару недель назад нарисовал и в архив с прошивкой положил. И номиналы вроде все указал в этот раз.

    В Китае стоит 2.5$ всего, вроде дефицита пока нет. Только ждать пару месяцев пока доедет.
    До Питера за месяц доезжает, иногда даже быстрее. Я обычно их сразу штук по 10 закупаю. Хорошая вещь. Но в данной схеме, конечно, ей не место, ESL совершенно прав.

  6. #106

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

    По умолчанию

    немного запоздалых ответов
    Цитата Сообщение от forth32 Посмотреть сообщение
    Исправить ситуацию можно, только пропатчив игрушку, забив 00 на место этих 2 команд. Но это тоже непросто - на диске runner.com выглядит совсем не так, как после загрузки в память. Упакован он там, что ли?
    тот вариант что на диске действительно упакован gold soft Executive files packer V1.0
    та в конце написано
    несжатая 34816, сжататя 16896
    несжатая есть в архиве

    ---------- Post added at 12:02 ---------- Previous post was at 11:56 ----------

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    А может атавизм портирования?
    такое практичесски нереально
    портирования были
    1) с MSX (все порты НИИСЧЁТМАШ) (+ моя Atheletic Land aka Park)
    2) c ZX (Dandare,Dandare 2, Deflector, Karate)
    3) специалиста (целая одна ZOO)

    все порты кроме специалистовскго - это полный дизасм, и адоптация
    там хвостов не может быть

    у порта со спеца - в теории может быть, это даже не порт а адоптация.

    условно
    3) с Commodore 16
    тут вообзе только графика сдернута.

    ---------- Post added at 12:04 ---------- Previous post was at 12:02 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    А что, эту игрушку откуда-то портировали? Я просто в игрушках мало разбираюсь, хотя название - runner - что-то мне напоминает.
    Это легенда
    http://ru.wikipedia.org/wiki/Lode_Runner
    но это написанная специально для Корвета версия.

    ---------- Post added at 12:12 ---------- Previous post was at 12:04 ----------

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    В Китае стоит 2.5$ всего, вроде дефицита пока нет. Только ждать пару месяцев пока доедет.
    или вот вариант
    http://www.banggood.com/IIC-Or-I2C-O...o-p-88316.html
    16x2 по spi
    можно и без spi тогда ног больше надо, чуть чуть .
    но его если и делать то опционально, чтоб без его наличия всё работало
    а если он есть то в качестве бонуса ....

    ---------- Post added at 12:14 ---------- Previous post was at 12:12 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я сейчас на этом С80 пытаюсь писать - это прост АД. Такой древний диалект языка С уже лет 20 мне не встречался.
    дык
    The Software toolworks
    C80 compiler V3.1 4/11/84


    ---------- Post added at 12:17 ---------- Previous post was at 12:14 ----------

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

    ---------- Post added at 12:19 ---------- Previous post was at 12:17 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Так я ее еще пару недель назад нарисовал и в архив с прошивкой положил. И номиналы вроде все указал в этот раз.
    диоды не подписаны...
    а для меня слово "любой" не подходит, как я в магазине это скажу

    ---------- Post added at 12:24 ---------- Previous post was at 12:19 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Не, ну ведь тумблер - это не эстетично Проще сделать вызов API, запрещающий реакцию на Control. При этом в железке я просто отключу прерывание Int0, а в эмуляторе - добавишь еще один флаг к проверке при записи в PPI3 А. Ну и утилитку control с ключами -e и -d. При этом понимать, что при отключенном control перезагрузка возможна только отключением питания.
    одно другому не противоречит
    просто тумблер может просто отключить этот порт от контроллера, т.е. он всегда останется в режиме API, на всякий пожарный случай

    еще из кнопок появилась такая идея

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

    например
    три кнопки
    A,B и SELECT
    при нажатии A+SELECT монитруем насильно образ как бы
    B+SELECT соответсвенно
    A+B - отключить выход в режим boot
    etc, etc ...

    но такие кнопки уже в "расширенную" версию просятся в комплекте с индикатором.

    а то как монитровать, не копировать же всё на софтину на все диски

    или не так, а при нажатии кнопки монитровать как D всегда,
    Последний раз редактировалось esl; 11.07.2014 в 13:26.

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

  8. #107
    SaintTurnip
    Гость

    По умолчанию

    Кнопки, экран это уже перебор, не? Устройство не может работать без компьютера, поэтому и управлять им следует с компьютера. Тут и нормальный вывод, и удобный ввод, и габариты железки остаются в пределах разумного.

    esl, а возможно сделать автодетект - если дисководов нет, чтобы все четыре буквы отдавались под образы? На 8010 дисководов нет. И с таким накопителем - не надо.

  9. #108

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

    По умолчанию

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    Кнопки, экран это уже перебор, не?
    и я ж написал выше - эта вся красота в расширеной версии
    и будет работать и без него.

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    Устройство не может работать без компьютера, поэтому и управлять им следует с компьютера. Тут и нормальный вывод, и удобный ввод, и габариты железки остаются в пределах разумного.
    а так и задумано,
    при старте грузится загрузчик который на экране позволяет выбрать что надо и запустить.
    а экран и кнопки - не сильно размер меняют
    там то размер разъема лимитирует, +- пару сантиметров уже не роялит.

    просто кнопки нужны на всякие экстренные случаи ...


    Цитата Сообщение от eugeniusz Посмотреть сообщение
    esl, а возможно сделать автодетект - если дисководов нет, чтобы все четыре буквы отдавались под образы? На 8010 дисководов нет. И с таким накопителем - не надо.
    в планах есть произвольвоный маппинг
    т.е. в конфигураторе указываем что на какой букве
    SD или реальный диск.
    Последний раз редактировалось esl; 11.07.2014 в 17:33.

  10. #109
    SaintTurnip
    Гость

    По умолчанию

    esl,

    а экран и кнопки - не сильно размер меняют
    я хочу вот так сделать:


  11. #110

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    в планах есть произвольвоный маппинг
    т.е. в конфигураторе указываем что на какой букве
    SD или реальный диск.
    Тут есть одно серьезное ограничение. VinxFS не может держать больше 2 файлов открытыми одновременно. Память в меге не резиновая, на буфера не напасешься. Это в эмуляторе ты можешь хоть все буквы от A до Z смонтировать Но вот а есть ли хоть какая-то практическая польза от 4 дисков одновременно? С учетом того, что в реальных корветах их было не более 2, а мы хоть сейчас уже можем создать образ KDI размером до 8 мегабайт без всякой переделки контроллера и драйверов. И напихать туда софта как на 10 обычных дискет

    Насчет того, где хранить управляющий софт. Я тоже долго думал над этим.C учетом максимально возможной простоты устройства. Правда, софт еще не написан толком, но все же... Можно было бы встроиться в клавиатурный драйвер. Так как ты выше и писал, только вместо кнопки на контроллере использовать какую-нибудь из не особо нужных кнопок клавиатуры, например ГРАФ+А. Но это как-то грубовато получается.
    Я думаю, на первых порах надо сделать так. Написать загрузчик типа LOADER.ASM и положить его в какой-нибудь ROM0.BIN. Загрузчик этот перед собственно загрузкй системы смонтирует к диску А образ SYSTEM.KDI, содержащий в себе весь необходимый софт. После загрузки юзер смонтирует к B свой рабочий диск и перепишет туда нужные ему программы. Вроде, довольно удобно получается. Программ будет немного, места они почти не займут.

    Только вот теперь надо еще создать этот управляющий софт. АПИ я продумал, в контроллер его уже реализовал, в твой эмулятор тоже дописал обработчики новых вызовов. А вот с клиентской частью мучаюсь. Древнючий C80, в котором даже void нет, меня уже доканал. Да и транслирует он по полминуты каждую программу. Переехал работать в эмулятор - там придавил F6 и трансляция заканчивается мнгновенно. Но все равно, переключать рус-лат по ALT-CAPS я как-то до сих пор не привык.

    Надеюсь, завтра все доделаю, а в всерксенье проверю на железе.

Страница 11 из 36 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Open source firmware for the Spectrum
    от zx-kit в разделе Разный софт
    Ответов: 60
    Последнее: 29.05.2014, 13:53
  2. open-source эмуляторы под .NET
    от Sawyer в разделе Эмуляторы
    Ответов: 1
    Последнее: 04.01.2011, 17:47
  3. GP2X F100 Open Source Gaming Console
    от CodeMaster в разделе Зарубежные компьютеры
    Ответов: 3
    Последнее: 12.06.2010, 23:51
  4. Open Source эмуль...
    от rg_software в разделе Эмуляторы
    Ответов: 50
    Последнее: 06.12.2006, 11:57

Ваши права

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