Просмотр полной версии : Апогей-БК01 и Апогей-БК01Ц: Внешний ROM диск
И заодно для DIP версии.
Спасибо. У меня как раз ДИПовая версия..
Печатные платы для 49F040/020/010/512 (и подобных стандартных ПЗУ) для программы Proteus. Если у вас нет Proteus, то бессмысленно качать файл.
Для панельки PLCC32 с выгнутыми наружу ногами
http://i062.radikal.ru/1203/7a/5b3982e7ae76.jpg
Для микросхемы PLCC32 без панельки.
http://s001.radikal.ru/i193/1203/c6/034e0435e7ac.jpg
Заметте, что под панелькой нет переходных отверстий. (И это хорошо)
Для DIP микросхемы.
http://s017.radikal.ru/i405/1203/3f/ed29116c50a4.jpg
Заметте, что DIP микросхемы подпаиваются только снизу. (И это хорошо)
ВНИМАНИЕ! В печатных платах у DIP микросхем нет отверстий. И на верхнем слое имеются ненужные контактные площадки
http://s004.radikal.ru/i206/1203/b5/1b981fd6b4e7.jpg
Лично я делаю отверстия в MSPAINT :) А так же убираю с верхнего слоя ненужные контактные площадки. (Если их оставить, то видно, что вехний и нихний слой совмещены не идеально.)
Мне лень сейчас рисовать дырки.
Вы можете заменить мои "бездырочные" модели на стандартные выбрав команду UPDATE в списке использумых компонент в контекстном меню. Но! Маленькие контактные площадки отваливаются в 100 раз чаще.
ВНИМАНИЕ! Я эти печатные платы не проверял.
Печатные платы для 49F040/020/010/512 (и подобных стандартных ПЗУ) для программы Proteus. Если у вас нет Proteus, то бессмысленно качать файл.
А что ты думаешь о выпуске конструктора для сборки, в котором:
1. плата
2. 2 микрухи, одна из них прошита, и обе DIP.
Цель: Любой человек, имеющий Апогей-БК, но не имеющий программатора, опыта/возможности травить платы, паять PLCC и т.д., мог бы спаять себе это прелестное устройство.
Думаю, хорошая идея. Но я никогда не заказывал изготовление печатных плат. И я не знаю где заказать 49F040 и разъемы.
Меня бы финансово не напрягло потратить несколько килорублей на конструкторы.
Думаю, хорошая идея. Но я никогда не заказывал изготовление печатных плат. И я не знаю где заказать 49F040 и разъемы.
Меня бы финансово не напрягло потратить несколько килорублей на конструкторы.
Я тоже заказывал печатные платы очень давно, но на этом форуме есть очень полезные ссылки по теме, например Вот эта (http://zx.pk.ru/showpost.php?p=458653&postcount=8).
Заказать флешку можно, например, поискав в Этом списке (http://www.efind.ru/icsearch/?search=49F040+).
Разьемы есть у каждого владельца Апогей-БК, т.к. они шли в комплекте. В крайнем случае, сам озаботися.
Думаю, хорошая идея. Но я никогда не заказывал изготовление печатных плат. И я не знаю где заказать 49F040 и разъемы.
Кстати, выложи в первом посте всю необходимую информацию о данном проекте, можно в архивах или ссылках.
Вот думаю перерисовать твою схемку в PCAD и развести ее - не очень лут мне интересен. Посмотрю может он в габариты картриджа Dendy влезет - тогда вообще круто будет.
Картридж упирается в корпус компьютера, и не достает до разъема.
Но в остальном, отлично подходит.
http://i081.radikal.ru/1203/2a/db0aebde9034.jpg
Разъем из картриджа будет торчать на столько.
http://s50.radikal.ru/i130/1203/2e/e4ff604c386c.jpg
Или пилить картридж.
1) Где можно подешевле оптом купить 49F040 или 49LF040 в DIP корпусе? (Знаю только ЧиД)
2) Где можно подешевле оптом купить разъемы
3) Как и где заказывать печатные платы?
4) Какой спрос будет у ROM-дисков?
---------- Post added at 10:22 ---------- Previous post was at 10:10 ----------
Что то мне кажется, что ЧиД слегка завышает цены
1533АП6 - 1700 руб (http://www.chipdip.ru/product/1533ap6.aspx)
1533ир22 - 4200 руб (http://www.chipdip.ru/product1/8763112953.aspx)
и т.п.
1) Что то мне кажется, что ЧиД слегка завышает цены
Не слегка завышает, а в разы, десятки разов завышает.
Годится только для разовой покупки, когда уж совсем нетерпится, а больше нигде не достать.
В Элитане (http://www.elitan.ru/) посмотрите.
В Элитане (http://www.elitan.ru/) посмотрите.
Как они, в розницу нормально работают?
Как они, в розницу нормально работают?
Прекрасно работают. В прайсе необходимо смотреть минимальное количество для заказа каждой позиции. Счёт выставляют моментально, оплата в течении двух дней. Что есть на сайте, то есть у них в наличии - не вводят в заблуждение как в других фирмах. В течении двух-трёх недель идёт комплектация и доставка посылки. Ими даётся ссылка для слежения за своим заказом.
Только 29F040 DIP32 я там не нашел. А 49LF040 вообще там нет.
SpecialistMK87
13.03.2012, 12:17
efo.ru
на складе 29F040 DIP32 нет, есть PLCC и TSOP
http://shop.efo.ru/cgi-bin/shop.pl?category=&description=29F040&mh=50&a=1
цены по мылу узнавать надо или звонить
efo.ru
А как у них с розницей?
CodeMaster
13.03.2012, 12:48
на складе 29F040 DIP32 нет, есть PLCC
А что за проблемы с PLCC?
49LF040 вообще там нет
В каждой четвертой S370 материнке такая.
А что за проблемы с PLCC?
Народ требует конструктор на DIP-микросхемах.
Тогда еще вариант, заказать PLCC32 панельку с DIP-выводами.
8 руб 60 коп !!!
http://lib.chipdip.ru/344/DOC000344331.jpg
http://www.chipdip.ru/product/plcc-32.aspx
Может быть купить 50 штук, пока ЧиД не передумал?
Может быть купить 50 штук, пока ЧиД не передумал?
разве хочешь? надо!
CodeMaster
13.03.2012, 22:28
Народ требует конструктор на DIP-микросхемах.
А в чём прикол? Поверхностную PLCC можно сдуть с любой материнки за так и припаять выводами наружу. Но это ИМХО, а там смотрите, я бы на макетке это всё спаял.
SpecialistMK87
13.03.2012, 23:03
А как у них с розницей?
я покупал как физлицо много чего, оплачивал безналом через сбербанк, доставка почтой была. По 1-2 штуки без проблем (как правило). Цены всегда были вменяемые. Брал у них обычно Атмел и Альтеру. У них большой и разнообразный склад, но с определенного момента цены перестали писать, надо запрашивать
Проще письмо написать им - что надо, они скажут что есть и по какой цене
vinxru, Вы случаем не собираетесь сделать МППЗУ для Вектора-06ц?
В ближайшем году нет, я всяких дел набрал выше крыши. Я буду делать флеш-диск для бк0010 скоро. С sd-картой.
Atari1974
11.04.2012, 20:01
В ближайшем году нет, я всяких дел набрал выше крыши. Я буду делать флеш-диск для бк0010 скоро. С sd-картой.
Вот хорошая вешь, давай
Поддерживаю, даже есть БК010 и 011... так что нужная
Всё забываю детали для наборов для сборки заказать...
Кстати, выложи в первом посте всю необходимую информацию о данном проекте, можно в архивах или ссылках.
Вот думаю перерисовать твою схемку в PCAD и развести ее - не очень лут мне интересен. Посмотрю может он в габариты картриджа Dendy влезет - тогда вообще круто будет.
В первом посте выложил ссылку на Вики, где всё описал.
http://zx-pk.ru/wiki/ROM-%D0%B4%D0%B8%D1%81%D0%BA_%D0%B4%D0%BB%D1%8F_%D0%BA %D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D 0%B0_%D0%90%D0%BF%D0%BE%D0%B3%D0%B5%D0%B9-%D0%91%D0%9A01
Doctor Max
24.05.2012, 00:28
Я хочу плату в сборе, или хотя бы плату с прошитым ПЗУ! Панелька ножками наружу, ибо проще, имхо!Сис. разем и сам припаяю! хотеть! :-)
Завтра попробую флешек и панелек под них заказать. Потом попробую печатные платы заказать. Штук 50. Самому лень делать столько.
Следующая версия ROM-диска будет на основе ATMega8, к которой будет подключаться SD-карта. При этом, она будет поддерживать запись. Вот её и пустим в производство.
ATMega8 будет эмулировать ПЗУ емкостью 256 байт в котором будет начальный загрузчик. ATMega легко справится в этим (то есть успеет), так как доступ к ПЗУ осуществляется через микросхему 580ВВ55 в два этапа - запись адреса, чтение данных. (И эта программа уже обкатана в контроллере клавиатуры для Ориона)
Так же ATMega будет содержать драйвер файловой системы FAT32. Этот драйвер будет общаться с Апогеем через несколько байт в том же адресном пространстве 256 байт.
Я планирую сделать этот контроллер в виде маленькой платки (примерно 2 на 2 см), которая на капельку термоклея садится на плату компьютера и подпаивается проводами к плате.
(Плата подключаемая к разъему расширения неудобна, да и разъемы мне не достать. Но внешнюю плату вторым этапом то же можно сделать.)
SD-карта при этом будет внутри компьютера, так как для большинства из вас менять карту не имеет смысла. Новый софт вряд ли появится. Но плату можно приклеить над разъемом расширения. Тогда сняв крышку этого разъема можно будет вытащить SD-карту.
(Этот же контроллер будет подключаться и к БК0010/БК0011.)
Я планирую сделать этот контроллер в виде маленькой платки (примерно 2 на 2 см), которая на капельку термоклея садится на плату компьютера и подпаивается проводами к плате.
(Плата подключаемая к разъему расширения неудобна, да и разъемы не не достать. Но такую плату вторым этапом то же можно сделать.)
SD-карта при этом будет внутри компьютера, так как для большинства из вас менять карту не имеет смысла. Новый софт вряд ли появится. Но плату можно установить на разъемом расширения. Тогда сняв крышку этого разъема можно будет вытащить SD-карту.
Вот с этим не согласен.
Почти у всех владельцев Апогея есть в комплекте этот непаяный разьем, и если человек не хочет вскрывать корпус, а хочет подключать в слот расширения - это вполне нормально. Кроме того, менять карту тоже может оказаться полезным. Кто-то переносит файлы с PC, что-то может пишет свое, и это удобно.
Vladimir_S
04.09.2012, 16:26
Вот с этим не согласен.
Почти у всех владельцев Апогея есть в комплекте этот непаяный разьем, и если человек не хочет вскрывать корпус, а хочет подключать в слот расширения - это вполне нормально. Кроме того, менять карту тоже может оказаться полезным. Кто-то переносит файлы с PC, что-то может пишет свое, и это удобно.
Тоже согласен, с разъемом как то универсальней.
Припаял ATMega8 к разъему, завтра буду пробовать эмулировать ПЗУ.
http://i011.radikal.ru/1209/8b/c7e47a81fc01.jpg
А уже потом припаяю SD карту.
Тоже согласен, с разъемом как то универсальней.
+1 У меня Апогей под пломбой. Вскрывать не хочу.
Если ставить контроллер PS/2, то всё равно разбирать надо.
Если ставить контроллер PS/2, то всё равно разбирать надо.
Контроллер PS/2 в Апогей? Зачем??? Мне он нафиг не нужен, даже если это мышка, джойстик и новая клавиатура. Во всяком случае пока что не нужен.
Мне клава не нравится, но может быть и привыкну.
Vladimir_S
05.09.2012, 05:03
Мне клава не нравится, но может быть и привыкну.
А мне так наоборот очень нравится. Во первых материал из которого сделаны кнопки приятен на ощупь, а во вторых еще и ностальгические ощущения, что немаловажно.
Я даже Орион упихал в корпус Апогея. А PS/2 я сделал для пробы для Радио-86РК,все работает, но нет того кайфа от ретрокомпа с клавой от РС. Впрочем кому как.
CodeMaster
05.09.2012, 09:33
(Этот же контроллер будет подключаться и к БК0010/БК0011.)
Отпишусь в этой теме, т.к. она видимо будет основной (хотя тему наверное надо переименовать и переместить в общий раздел), хотя пока контроллер интересует в основном для БК.
Во-первых, поддержу предыдущих ораторов: основным надо сделать подключение через внешние разъёмы. Кто захочет покурочить что-то, всегда будет возможность запихать его внутрь. Тем более для БК быстрая доступность SD-карты будет более актуальна.
Во-вторых, если контроллер будет для нескольких типов компов, то предлагаю сразу линии подключения вывести на край платы на гребёнку. А дальше сделать несколько адаптеров с разъёмами конкретных компов и использовать с ними один контроллер (я так понимаю принципиально это могут быть не только БК и РК-86). Также (если версии прошивок будут невелики и не сильно отличаться), то сразу предусмотреть на плате джамперы для переключения вариантов.
В-третьих, если контроллер сможет выполнять какие-то другие функции (для которых требуется подключение к плате) например контроллера клавы, можно также предусмотреть гребёнку для подключения этих разъёмов и по желанию их запаивать и использовать. (меня лично, например, интересовала бы PS/2 клава для БК, но подключаемая к внешним разъёмах, хотя, с МПИ это наверное проще чем с системным разъёмом РК)
меня лично, например, интересовала бы PS/2 клава для БК, но подключаемая к внешним разъёмах, хотя, с МПИ это наверное проще чем с системным разъёмом РК
У одной ATMega не хватит ног, что бы эмитировать стандартную клаву впридачу к внешнему ПЗУ. ПЗУ требует ~18 линий и примерно столько же клава.
---------- Post added at 09:43 ---------- Previous post was at 09:41 ----------
Отпишусь в этой теме, т.к. она видимо будет основной (хотя тему наверное надо переименовать и переместить в общий раздел), хотя пока контроллер интересует в основном для БК.
Я напишу в ту тему, когда будет готова прошивка для БК.
---------- Post added at 10:09 ---------- Previous post was at 09:43 ----------
В качестве драйвера файловой системы я пока выбрал PetitFat. Он без проблем cкомпилировался под ATMega8. И выглит он серьёзнее всего, что я видел. Но некоторых функций, которые могут потребоваться в будущем, не хватает. Это CreateDirectory, GetFreeSpace, RenameFile, DeleteFile. И два файла одновременно он открыть не может.
Эти функции есть в прародителе этой PetitFat, так что можно будет либо взять её, либо перетянуть нужные функции.
Помимо функций PetitFat, будут упрощенные функции ReadBootFile - для загрузки файла boot одной командой, ReadImageSector, WriteImageSector - для упрощения написания драйвера для существующей ФС, SelectImageFile - для выбора файла образа для этой ФС.
CodeMaster
05.09.2012, 11:43
У одной ATMega не хватит ног, что бы эмитировать стандартную клаву впридачу к внешнему ПЗУ. ПЗУ требует ~18 линий и примерно столько же клава.
Ты же хотел эмулировать стандартный дисковод БК через порты, ИМХО так же можно сделать и с клавой.
В качестве драйвера файловой системы я пока выбрал PetitFat.
Под каким соусом его употреблять на ПЦ? Или финально всё же будет FAT?
Ты же хотел эмулировать стандартный дисковод БК через порты, ИМХО так же можно сделать и с клавой.
Дак стандартный контроллер клавы будет конфликтовать. Его же не вытащить, не отключить.
---------- Post added at 10:53 ---------- Previous post was at 10:46 ----------
Под каким соусом его употреблять на ПЦ? Или финально всё же будет FAT?
PetitFat - это стандартный FAT32.
На Апогее написанный мной загрузчик будет видеть все файлы на флешке. Достаточно будет скинуть файл, и его можно будет загрузить на Апогее. (И любой человек сможет использовать этот API)
А операционная система CP/M будет работать с файлом-образом. Что бы туда закинуть файл, потребуется специальный софт. (Кстати этот софт может быть и на самом Апогее).
Все это справедливо и для БК0010. Только у БК0010 формат драйвера дисковода стандартизирован и зашит в ПЗУ контроллера. Я напишу драйвер для своего контроллера и с ним должны заработать все ОС и программы (напрямую не обращающиеся к железу).
---------- Post added at 10:58 ---------- Previous post was at 10:53 ----------
P.S. Пропустил своё 1000-ное сообщение :) Вчера было 999-ое.
Если честно, не понял,зачем SD для Апогея. Там же на одно ПЗУ и так все существующие проги влезли... К тому же РОМ диск на 49LF проще собрать. Всего одна микросхема.. Вот за SD на БК двумя руками за!
ИМХО, лучше б вы занялись этим проектом на БК в первую очередь, так как на Апогее РОМ диск уже есть и работает, а на БК такого нет, что плохо..(((
А вообще спасибо вам, что разрабатываете такие простые и функциональные устройства.. Я от РОМ диска на Апогей до сих пор в диком восторге..))))))
CodeMaster
05.09.2012, 12:54
ИМХО, лучше б вы занялись этим проектов на БК в первую очередь
Я бы так ребром вопрос не ставил ;-) Проект надо изначально сделать универсальным, при сохранении минималистического подхода vinxru к проектированию. Ведь я так понимаю его можно будет адаптировать (хотя бы в виде эмулятора ПЗУ (со своим загрузчиком) и ко всем спекам которые имеют разъём расширения (в т.ч. оригинальным) и ко многому другому, а это будет очень полезно!
Да, но ИМХО делать изначально для БК, а потом, когда девайс заработает, можно будет неспеша адаптировать его на другие платформы. А мы, юзеры, в это время будем тащиться от девайса на БК... На Апогее мы уже тащимся... Я это имел ввиду..
Если честно, не понял,зачем SD для Апогея.
Я сейчас игру пишу для Апогея и демки постоянно клепаю. А флешка 49F004 у меня умерла от постоянной перезаписи.
---------- Post added at 13:45 ---------- Previous post was at 13:30 ----------
Ведь я так понимаю его можно будет адаптировать (хотя бы в виде эмулятора ПЗУ (со своим загрузчиком) и ко всем спекам которые имеют разъём расширения (в т.ч. оригинальным) и ко многому другому, а это будет очень полезно!
Да. Но есть одна тонкость. ATMega8 (4,8,32...), в отличии от ATMega88 (48, 168, 328...), не умеет реагировать на изменение состояния адресных линий. Всмысле, изменения состояния любой из 8 ножек. Это может создать проблемы при подключении к некоторым компьютерам.
В разъеме БК0010 есть сигналы RD, WR. Мы подключаем их к прерыванию ATMega8 и проблем нет.
В разъеме РК-86 такого сигнала нет. Но подключив A0 к прерыванию мы можем реагировать как на спад A0, так и на подъем. Таким образом мы можем нормально прочитать программу, за исключением двух особенностей:
1) Первый байт с вероятностью 50% будет испорчен.
2) Чтение должно быть последовательным.
Для РК-86 вышеперечисленные пункты не проблема. А вот Орион-128 не сможет так работать. Для Ориона придется брать в руки паяльник и выводить на разъем сигналы WR, RD. Либо брать микроконтроллер Atmega88, но мне не позволяет это сделать религия :)
ПЗУ эмулируется отлично.
http://s49.radikal.ru/i123/1209/ba/8855b90e2897.jpg
Шина адреса припаяна к выводам микроконтроллера D0..D7, причем линии 0 и 2 поменяны местами, так как на ножке D2 у этого микроконтроллера прерывание. Шина данных припаяна к выводам B0..B7.
А сам обработчик крайне простой.
interrupt [INT_EXT0] void int0() {
PORTB = mem[PIND];
}
Теперь надо разобраться с SD-картой, файловой системой и придумать удобный способ пересылать массивы данных от компьютера к микроконтроллеру.
CodeMaster
06.09.2012, 09:05
Для РК-86 вышеперечисленные пункты не проблема. А вот Орион-128 не сможет так работать. Для Ориона придется брать в руки паяльник и выводить на разъем сигналы WR, RD.
Это на универсальную концепцию не влияет. Кто-то возможно будет лепить его на плату у которой вообще нет разъёма расширения и там всё будет паяльником.
Либо брать микроконтроллер Atmega88, но мне не позволяет это сделать религия
Согласен, если боги дадут знамение, возьмёшь ATMmega88 и сделаешь, но это будет уже совсем другой проект ;-)
http://s018.radikal.ru/i526/1209/c9/ea021111a53d.jpg
С флешкой разобрался. PetitFat заработал сразу же (читает, пишет, работает с подкаталогами), а вот с доступом к самой флешке пришлось помучатся, хотя я взял вроде бы рабочий пример.
На платке собран преобразователь 5В - 3.3В. 7 резисторов, 3 диода, 1 конденсатор.
CodeMaster
07.09.2012, 08:17
На платке собран преобразователь 5В - 3.3В. 7 резисторов, 3 диода, 1 конденсатор.
А одна КРЕНка и 2 конденсатора не прощё?
HardWareMan
07.09.2012, 08:54
КРЕНок на 3.3 вольта нет. Есть 1117. :3
КРЕНок на 3.3 вольта нет. Есть 1117. :3
КРЕН12 на сколько хочешь вольт от 1.3 до 37.
Vladimir_S
07.09.2012, 10:18
КРЕН12 подозрительно напоминает LM117.
А одна КРЕНка и 2 конденсатора не прощё?
Дак её еще купить надо.
КРЕН-ку заменяют 3 последовательно поставленных диода. На каждом диоде падает 0.6 Вольта. На выходе получается 3.3 - 3.6 Вольт, в зависимости от потребляемого тока.
CodeMaster
07.09.2012, 10:58
КРЕНок на 3.3 вольта нет. Есть 1117. :3
Какой смысл придираться к деталям, да КР142ЕНx на фиксированные 3,3 вольта нет, но LM1117-3.3 или LM7833 есть почти на каждой хламоматеринке, это что-то принципиально меняет?
На выходе получается 3.3 - 3.6 Вольт, в зависимости от потребляемого тока.
Если добавить стабилитрон на 3.3 вольта, то практически линейный стабилизатор и получится ;-)
http://s006.radikal.ru/i214/1209/10/976e3d319648.png
---------- Post added at 11:06 ---------- Previous post was at 11:04 ----------
но LM1117-3.3 или LM7833 есть почти на каждой хламоматеринке,
У меня несколько ATX-овых мамок есть. Я даже не думал искать там стабилизатор, так как 3.3 Вольта приходит с блока питания.
CodeMaster
07.09.2012, 11:24
А к карте обязательно делитель, просто токоограничивающими нельзя обойтись?
У меня несколько ATX-овых мамок есть. Я даже не думал искать там стабилизатор, так как 3.3 Вольта приходит с блока питания.
На первопнях. Но это вообще фигня пока, если платы будут делаться там надо решать, если нет, то всегда можно слепить из того что было...
А к карте обязательно делитель, просто токоограничивающими нельзя обойтись?
Я х.з.
vinxru, А вот так не лучше?
А на 3.3 LMка ставится.
http://fincoins.spb.ru/4/sd.gif
По поводу взаимодействия компьютера и PetitFat пока моя мысль остановилась на следующем:
Компьютер желая передать команду PetitFat, читает данные из ячеек ПЗУ: FD, F2, F5, F0.
А затем пересылает пакет данных следующим способом. Для каждого байта читаем адреса: 0xC1h + (d>>3) & 0x1E, 0xC0 + (d<<3) & 0x1E.
А для приема байта читаем адреса 0xFD, 0xFC. Значение по адресу (0xFD) игнорируем.
Любое отклонение от этого протокола включает режим эмуляции ПЗУ.
---------- Post added at 11:56 ---------- Previous post was at 11:54 ----------
vinxru, А вот так не лучше?
ИМХО 6 резисторов лучше, чем DIP16. Причем, на вывод SS можно поставить лишь один резистор. Между ним и +3.3 Вольта. И программно вместо логической 1 включать Z состояние.
А на 3.3 LMка ставится.
А LM-ка лучше. Меньше ножек, меньше места занимает и напряжение стабильнее.
ИМХО 6 резисторов лучше, чем DIP16. Причем, на вывод SS можно поставить лишь один резистор. Между ним и +3.3 Вольта. И программно вместо логической 1 включать Z состояние.
Ну тебе виднее. Схема с DIP16 из доков к CodeVisionAVR. Там и библиотеки по SD имеются. Схема рабочая - я проверял.
>И программно вместо логической 1 включать Z состояние.
Ты еще предложи переключать вывод на вход и программно включать внутренний резистор подтяжки, тогда вообще без внешних резисторов можно ;-)
Ты еще предложи переключать вывод на вход и программно включать внутренний резистор подтяжки, тогда вообще без внешних резисторов можно ;-)
Все таки SD карта требует 3.3 Вольта. ИМХО их делают китайцы не заботясь о надежности. Абы работало. Размеры транзисторов там крайне маленькие, лишнее тепло им некуда отдавать. Так что не будем экономить на одном резисторе :)
---------- Post added at 15:16 ---------- Previous post was at 15:14 ----------
Как вариант, можно попробовать ATMega запустить на 3.3 Вольта. Тогда SD карту можно напрямую подключить к контроллеру. И подавать на входы МК 5 Вольтный сигнал от компьютера. Вдруг такое прокатит. А в компьютер отдавать 3.3 Вольтный сигнал. Компьютер должен понять.
Кстати описанная мной проблема отсутствия прерывания на изменение всех линий адреса не проблема. Мне в этом устройстве вообще прерывания не нужны. Я буду все делать в основном цикле программы.
old = PIND;
while(old==PIND);
А в компьютер отдавать 3.3 Вольтный сигнал. Компьютер должен понять.
Уверен? Все-таки у нас ttl, а не cmos
Уверен? Все-таки у нас ttl, а не cmos
Нет, не уверен.
Что то не получилось в микроконтроллере поймать последовательность адресов 0xF2, 0xF6. Эти числа отличаются лишь одним битом. Даже на такой программе это не получилось:
while(1) {
if(PIND != 0xF2) continue;
while(PIND==0xF2);
delay_us(от 0 до 100)
if(PIND != 0xF6) continue;
// ни разу не удалось выполнить дальше программу
}
Видимо переходные процессы. Но что бы их пропустить я поставил задержку.
Я даже оптимизации в компиляторе отключил и посмотрел ассемблер.
---------- Post added at 01:10 ---------- Previous post was at 01:05 ----------
Очень странно, что CodevisionAVR компилирует строку
while(PIND==old);
как
_0x43:
IN R30,0x10
LDI R31,0
MOV R26,R5
LDI R27,0
CP R30,R26
CPC R31,R27
BREQ _0x43
Очень странно, что CodevisionAVR компилирует строку
Он сравнивает 32-х битные числа, значит ты обьявил этот тип, как long, а надо, как short.
100% что объявлено как unsigned char. Пробовал еще как char. И пробовал
while((uchar)PIND == (uchar)old);
100% что объявлено как unsigned char. Пробовал еще как char.
Ну значит такой компилятор.
Обновил CodevisionAVR 1.25 до 2.03. Компилироваться стало правильнее
_0x83:
IN R30,0x10
CP R30,R4
BREQ _0x83
Запгрузил первую игру с флешки. Сначала ATMega8 читает с флешки файл /Loader, который Апогей потом получает по команде R0,100.
А этот загрузчик (код которого ниже), загружает файл /BOOT. В этом файле будет меню, а пока я под этим именем сохранил игру.
; 8-09-2012 (c) vinxru
device zxspectrum48
begin: ld hl, 0EE01h
; Начало любой команды
ld (hl), 0
ld (hl), 0F7h
ld (hl), 0F5h
ld (hl), 0F1h
ld (hl), 0E1h
; Команда 0 BOOT
ld (hl), 0E0h
ld (hl), 0E1h
; Код ошибки
call recvByte
cp 0
jp nz, 0F800h
; Длина файла
call recvByte
ld c, a
call recvByte
ld b, a
; Первое слово в файле - адрес
call recvByte
ld d, a
call recvByte
ld e, a
; Автозапуск
push de
; Второе слово в файле пропускаем
call recvByte
call recvByte
; Корректируем длину
dec bc
dec bc
dec bc
dec bc
; Прием файла
l: call recvByte
ld (de), a
inc de
dec bc
ld a, b
or c
jp nz, l
; Код ошибки
call recvByte
cp 0FAh
jp nz, 0F800h
; Автозапуск
ret
;-------------------------------------------------------------------------------
recvByte: ; Когда устройство будет готово передать байт, оно вернет 1
ld a, (0EE00h)
dec a
jp nz, recvByte
; Дай байт
ld (hl), 0C1h
; Читаем байт
ld a, (0EE00h)
; Байт принят
ld (hl), 0E1h
ret
---------- Post added at 20:13 ---------- Previous post was at 19:26 ----------
Где лучше взять CP/M, что бы скомпилировать его под Апогей? И где есть интересный софт?
http://s019.radikal.ru/i628/1209/d5/0fe47e5e3ed5.png
:D
Vladimir_S
09.09.2012, 02:20
vinxru, Очень интересно!
Дизассемблировал CP/M BIOS взятый у Корвета ПК8020. И написал по его образу и подобию CP/M BIOS для Апогея.
http://s002.radikal.ru/i200/1209/16/39ba95d839bd.png
Что то работает, но не грузит файлы размером больше чем 2 Кб.
CP/M на РК-подобных - это будет офигенно круто.
Mad Killer/PG
09.09.2012, 12:39
Вообщe круто,vinxru Вы сумaшeдший гeний!
Vladimir_S
09.09.2012, 12:54
Вообщe круто,vinxru Вы сумaшeдший гeний!
Согласен на 100%
vinxru, А будет возможность сохранять на флешке свои файлы?
Счас звездной болезнью заболею...
---------- Post added at 13:42 ---------- Previous post was at 13:39 ----------
vinxru, А будет возможность сохранять на флешке свои файлы?
Этот драйвер не умеет создавать новые файлы и увеличивать размер существующих. Так что пока только сохранение в существующие файлы. Ну а CPM сможет полноценно создавать файлы в своих образах.
Но немного позже я доработаю драйвер файловой системы и все будет ок. Там главная сложность в том, что надо 512 байт ОЗУ, что бы прочитать сектор в память, изменить его и сохранить обратно. А у микроконтроллера всего 1 Кб ОЗУ.
CP/M на РК-подобных - это будет офигенно круто.
на орионе же есть...
на орионе же есть...
Орион - это совсем другой компьютер. Цветной графический режим, видеоадаптер на рассыпухе, 128 Кб ОЗУ.
Тут даже Корвет ближе. У него 64 Кб основной памяти и текстовый режим есть.
---------- Post added at 14:35 ---------- Previous post was at 14:28 ----------
Я вот понять не могу. Образ диска Корвета размером 819200 байт.
Размер сектора 128 байт.
20 секторов на дорожке.
2 зарезервированных дорожки (заняты CP/M)
128*2*20 = 5120 (1400h)
Но корневой каталог в образе начинается с адреса 10240 (2800h)
В самом CP/M зашит формат диска
RAM:DA8B DPBA: dw 20 ; SPT - количество секторов (по 128 байт) на дорожку
RAM:DA8D db 4 ; BSH - количество бит, на которое необходимо сдвинуть размер логического сектора, чтобы получить размер кластера
RAM:DA8E db 0Fh ; BLM - маска кластера - (размер_кластера/128)-1
RAM:DA8F db 1 ; ЕХМ - маска директорной записи : если ЕХМ=0), то максимальный размер, адресуемый одной директорной записью, равен 16К; если ЕХМ=1, то - 32К и т.д.
RAM:DA8F ; Если DSM < 256, то размер кластера в директорной записи задается байтом, а если DSM > 256, то словом
RAM:DA90 dw 0C3h ; DSM - количество BLS -1 (не считая системных дорожек)
RAM:DA92 dw 7Fh ; DRM - количество входов в директорию -1
RAM:DA94 db 0C0h ; L ; AL0 - битовая шкала занятости BLS директорией. Начало шкалы - бит 7 AL0, конец - бит 0 AL1. Количество единиц, заполняющих AL0 (от начала шкалы) - (DRM+BLS/32)/(BLS/32)
RAM:DA95 db 0 ; AL1
RAM:DA96 dw 20h ; CKS - размер области CSV в DPH. Для сменных дисков - (DRM+1)/4, для не сменных - 0.
RAM:DA98 db 2 ; OFF - количество зарезервированных дорожек на диске (с системой например).
И сам CP/M последовательно читает:
дорожка 2, сектор 1
дорожка 2, сектор 2
дорожка 2, сектор 3
дорожка 2, сектор 4
..
дорожка 2, сектор 20
дорожка 3, сектор 1
То есть секторов действительно 20. Я поставил пропуск 4-х дорожек, вместо 2-х, что бы читался каталог.
Я вот понять не могу. Образ диска Корвета размером 819200 байт.
Размер сектора 128 байт.
20 секторов на дорожке.
У Корвета вроде 5 секторов по 1024 байта на дорожку. Если брать 20 секторов по 128, размер диска будет не 800, а 400 КБ.
А, всё, понял.
В бутсекторе записан формат диска
0000000010: 28 00 04 0F 00 8C 01 7F 00 C0 00 20 00 02
28 00 - это 40 секторов
04 - размер кластера
и дак далее все параметры диска в формате CP/M
Но все равно читается только первые 2 Кб
---------- Post added at 16:38 ---------- Previous post was at 15:49 ----------
Очепятка в программе была, вот и не читалось.
Вроде бы работает. Теперь можно писать CP/M BIOS для SD-карты. Только не сегодня.
http://s49.radikal.ru/i124/1209/31/b7596c9ed094.png
Что бы мне было проще, я изменил конфигурацию компьютера в эмуляторе. Добавил еще один порт, в который записывается номер сектора. А через стандартный порт мы читаем сам сектор.
app : K580ww55 {
portA=romdisk.data
portB[0-6]=romdisk.addr[0-6]
}
app2 : K580ww55 {
portB[0-7]=romdisk.addr[7-E]
portC[0-7]=romdisk.addr[F-16]
}
mm : MemMap {
...
map[0][FF00-FFFF].wo=app2.data
}
А в CP/M написал
_READ: ; Отладочная информация
; ld c, '('
; call 0F809h
; ld a, (bios_track)
; call 0F815h
; ld a, (bios_sector)
; call 0F815h
; ld c, ')'
; call 0F809h
; Включаем второй порт
ld hl, 0FFF3h
ld (hl), 90h
; hl = bios_track * 40
ld a, (bios_track)
ld l, a
ld h, 0
add hl, hl
add hl, hl
ld bc, hl
add hl, hl
add hl, hl
add hl, bc
add hl, hl
; hl += bios_sector-1
ld a, (bios_sector)
dec a
ld c, a
ld b, 0
add hl, bc
; Пишем номер сектора
ld (0FFF1h), hl
; Загружаем сектор в ОЗУ
ld hl, (bios_addr)
ex hl, de
ld hl, 0
ld b, 128
ll: ld (0EE01h), hl
ld a, (0EE00h)
ld (de), a
inc hl
inc de
dec b
jp nz, ll
; Все ок
xor a
ret
опоздал наверное, но
вот ИСХОДНИКИ корветовских биосов
https://dl.dropbox.com/u/490774/KORVET-BIOSES.zip
вот описание дисковой подсистемы
https://dl.dropbox.com/u/490774/KORVET-DISK.pdf
а вот и весь текст в KOI8
https://dl.dropbox.com/u/490774/Korvet-bios.txt
еще можно поискать книжку по адоптации CP/M
Почитать обязательно надо, и обязательно надо самому поковыряться. Так что не опоздал. :)
В бутсекторе записан формат диска
0000000010: 28 00 04 0F 00 8C 01 7F 00 C0 00 20 00 02
28 00 - это 40 секторов
04 - размер кластера
и дак далее все параметры диска в формате CP/M
Чтобы не мучаться в БИОСе с пересчётом номеров сектора и дорожки можно задать в этой таблице (которую ты возвращаешь CP/M-у при выборе диска) количество секторов на дорожке как тебе удобнее. Т.е. не 40, например, а 32 или 64. Например, если задать 256, то номер сектора можно напрямую писать в один порт, а номер дорожки - в другой.
sergey2b
09.09.2012, 19:55
еще можно поискать книжку по адоптации CP/M
М. Дамке «Операционные системы микроЭВМ»
http://easyelectronics.ru/m-damke-operacionnye-sistemy-mikroevm.html
М. Дамке «Операционные системы микроЭВМ»
http://easyelectronics.ru/m-damke-operacionnye-sistemy-mikroevm.html
Вообще непонятно зачем для РК адаптировать СР/М. Уже всё адаптировано. Может я что то пропустил?
Вообще непонятно зачем для РК адаптировать СР/М. Уже всё адаптировано. Может я что то пропустил?
Я делаю BIOS для CP/M, с помощью которого CP/M будет работать с моим контроллером подключенным к РК-86.
Дайте ссылку на такой BIOS.
на орионе же есть...
В Орионе нету ВГ75 :)
sergey2b
10.09.2012, 18:49
Вообще непонятно зачем для РК адаптировать СР/М. Уже всё адаптировано. Может я что то пропустил?
из за программ доступных под CP/M и РК станет машинкой соотвествущей стандрату
8 битовых PC 75-90 годов
из за программ доступных под CP/M и РК станет машинкой соотвествущей стандрату
8 битовых PC 75-90 годов
с 32к которые есть у РК работать с CP/M грустно
много что не будет работать
sergey2b
10.09.2012, 20:30
с 32к которые есть у РК работать с CP/M грустно
много что не будет работать
у апогея вроде 56k + можно нарастить до 128k
вот ссылка по адоптации cp/m
http://bitsavers.org/pdf/digitalResearch/cpm/CPM_Operating_System_Manual_Jul82.pdf
http://bitsavers.org/pdf/digitalResearch/cpm/CPM_2.2_Alteration_Guide_1979.pdf
и там еще есть доки
http://bitsavers.org/pdf/digitalResearch/cpm/
ну и тут немного
http://www.cpm.z80.de/drilib.html
Я сейчас придумываю API. Сначала я хотел сделать функции
selectImageFile(номер_дисковода, имя_файла)
readImage(номер_дисковода, номер_сектора, буфер)
writeImage(номер_дисковода, номер_сектора, буфер)
Но жалко памяти микроконтроллера под хранение имен файлов (которые могут быть до 128 символов). Поэтому имена файлов будет задавать сам компьютер при переключении дисководов.
selectImageFile(имя_файла) - Вызывается при смене диска (как раз функция CP/M SELDSK)
readImage(номер_сектора, буфер) - Чтение сектора размером 512 байт
writeImage(номер_сектора, буфер) - Запись сектора размером 512 байт
И сам же компьютер будет сохранять имя выбранного образа с помощью функций
loadFile(имя_файла, буфер) - Чтение файла
saveFile(имя_файла, буфер, максимальная_длина) - Запись области памяти в файл.
CodeMaster
12.09.2012, 09:52
Но немного позже я доработаю драйвер файловой системы и все будет ок. Там главная сложность в том, что надо 512 байт ОЗУ, что бы прочитать сектор в память, изменить его и сохранить обратно. А у микроконтроллера всего 1 Кб ОЗУ.
А можно сделать подгружаемый в контроллер со служебного раздела флешки функционал? Т.е. в базе только чтение, а запись, каталоги и пр. по требованию. Медленно наверное, но учитывая, что компы небыстрые, наверное будет не критично.
А можно сделать подгружаемый в контроллер со служебного раздела флешки функционал? Т.е. в базе только чтение, а запись, каталоги и пр. по требованию. Медленно наверное, но учитывая, что компы небыстрые, наверное будет не критично.
Программа содержится в ПЗУ микроконтроллера, которое имеет всего 1000 циклов перезаписи. И ПЗУ переписывается сразу целиком (кроме специального места, куда записывается программа перепрошивки). И МК умеет сам себя перепрошивать.
CodeMaster
12.09.2012, 11:23
Программа содержится в ПЗУ микроконтроллера, которое имеет всего 1000 циклов перезаписи.
В даташите 10 000, но я тогда не понял фразы про ОЗУ. Там не хватает памяти для других данных если загружать в неё сектор? Просто полноценную запись конечно надо прикручивать, иначе такой сложный просто ROM-диск не будет актуален.
В даташите 10 000, но я тогда не понял фразы про ОЗУ. Там не хватает памяти для других данных если загружать в неё сектор? Просто полноценную запись конечно надо прикручивать, иначе такой сложный просто ROM-диск не будет актуален.
Записывать данные кусками по 512 байт в файл он уже умеет.
Сейчас (по дефолту) образ эмулируемого ПЗУ занимает 256 байт. Стек и глобальные переменные занимают ~540 байт. И еще буфер чтения/запили размером 128 байт.
Если прибрать используемые переменные и временно использовать место занимаемое образом ПЗУ, то можно получить эти 512 байт.
В крайнем случае можно использовать ОЗУ компьютера.
И остается написать функцию, которая бы добавляла кластер к файлу (при записи). Редактировала обе таблицы FAT. Или удаляла кластеры (функция SetEndOfFile).
И еще лучше, написать функцию, которая бы работала с каталогами. Там так же надо оперировать с кластерами.
Error404
18.09.2012, 14:54
И остается написать функцию, которая бы добавляла кластер к файлу (при записи). Редактировала обе таблицы FAT. Или удаляла кластеры (функция SetEndOfFile).
И еще лучше, написать функцию, которая бы работала с каталогами. Там так же надо оперировать с кластерами.
А почему не использовать готовые библиотеки для работы с файловыми системами FAT? Есть версии для работы которым надо совсем чуть-чуть ОЗУ и пару кило ПЗУ.
А почему не использовать готовые библиотеки для работы с файловыми системами FAT? Есть версии для работы которым надо совсем чуть-чуть ОЗУ и пару кило ПЗУ.
Предлагайте.
HardWareMan
18.09.2012, 16:18
Я для себя все писал сам. А вам советую посмотреть в сторону библиотек для AVR.
Error404
18.09.2012, 17:12
Предлагайте.
Например очень популярная библиотека FATfs от Chan-а:
http://elm-chan.org/fsw/ff/00index_e.html
Даже для z80 тут на форуме уже как минимум 2 порта ее были (для Ориона и для ZxEvo).
Она кастомизируемая, т.е. можно собрать как tinyмодель с минимальным потреблением ресурсов (http://elm-chan.org/fsw/ff/00index_p.html) (PetitFatFS) и уменьшенным функционалом, так и средние или полные сборки (cобственно FatFS c настраиваемыми опциями RO/RW/LFN etc в зависимости от которых меняются требования к объему ОЗУ и ПЗУ контроллера).
ну дак я его и использую :) Полноценный FatFS в ATMega8 не влезает. Я использую PetitFS и собираюсь туда перетянуть несколько функций из FatFS
vinxru,
а можно в rom-diske вместо 555тм9 использовать 1533тм9 а вместо 49f040 использовать at27c040-70 ?
Vladimir_S
26.11.2012, 06:29
13joe, vinxru к моему сожалению самозабанился.
AHTuXPuCT
26.11.2012, 07:36
13joe, вместо 555ТМ9 можно смело поставить 1533ТМ9,
вместо 49f040 можно поставить at27c040-70 только надо будет сравнить цоколевку по даташитам
AHTuXPuCT,
Спасибо ! Точно цоколевки 49f040 и at27с040 не совпадают.
Нужно всего то перерезать дорожку, идущую на вывод 1 49F040 и соеденить её с выводом 31 27С040. А вывод 1 27С040 подключить на +5В. И будет работать.
AHTuXPuCT
26.11.2012, 16:00
Mifody, ноги не совпадают
опередил :)
а если резать дороги, то можно поставить
Я думал, речь идёт о DIP варианте. Там 1 нога только не совпадает. А18. Собственно и здесь то же самое..
Mifody,
В данном случае (применительно к моему вопросу) речь идет именно о DIP варианте.
CodeMaster
28.11.2012, 09:53
13joe, vinxru к моему сожалению самозабанился.
Очень жаль :-( я надеялся его универсальный контроллер дисковода в скорости появится на свет.
CodeMaster,
Будем надеяться что vinxru самозабанился только на какое-то время :)
Еще старые версии Rom-дисков (для одного из участников форума).
http://ic.pics.livejournal.com/vinxru/24784160/40045/40045_600.jpg
Могу отдать Word-овские файлы для печати этих плат. (на этом компе у меня их сейчас нет).
У меня деталей нет. И делать платы не хочу, но я так подумал. Могу изготовить печатную плату в обмен на какие нибудь полезные для меня платы от древних компов.
DATAsoft
14.12.2012, 22:42
vinxru, Жду когда отправишь.:)
CodeMaster
14.12.2012, 22:43
в обмен на какие нибудь полезные для меня платы от древних компов.
Мне платы не нужны, но ты напиши что тебе нужно, может у меня валяетсся без дела.
DATAsoft
16.12.2012, 00:09
vinxru, такой подойдёт?
DATAsoft
16.12.2012, 00:18
Тогда положу в общую посылку для тебя.
sergey2b
16.12.2012, 21:35
DATAsoft скажите пожалуйста а можно посмотреть схему этого PAL кодера
Alchemist
18.01.2016, 12:06
Кому-нибудь нужна плата для ROM-диска на 512к?
Я заказал платы под DIP-корпус ПЗУ и теперь у меня есть лишние 10 штук.
Описание платы здесь: http://zx-pk.ru/wiki/ROM-%D0%B4%D0%B8%D1%81%D0%BA_%D0%B4%D0%BB%D1%8F_%D0%BA %D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D 0%B0_%D0%90%D0%BF%D0%BE%D0%B3%D0%B5%D0%B9-%D0%91%D0%9A01
https://pp.vk.me/c630127/v630127822/d8cf/Co_6llbICxM.jpg
Это что барахолка? Правила форума не читаем?
Alchemist,
Хотел узнать, возможно ли у Вас приобрести готовый ROM-диск для Апогея БК01.
С уважением,
Андрей
Всем добрый вечер.
Давно хочу спросить. ПЗУ можно заменить на 27с040?
вернее сказать кто-нибудь сделал?
Vladimir_S
30.10.2017, 10:27
Родилась такая система. Файловый менеджер для цветного Апогея на микросхеме AM29F040.
Написал дистрибутив для установки на флеш память системы. Устанавливается просто - запускается файл DISTR.RKA с адреса GD400. После этого нужно только вводить R100,13F и запуск с адреса 0. Запускается оболочка в цвете.
Родилась такая система.
Какая такая. Описание есть. А то может и не только в Апогее ее интересно применить.
Допускается запись новых файлов?
Vladimir_S
30.10.2017, 11:10
Какая такая.
Я ее написал для РК86, но там она в ПЗУ и я решил заточить ее для Апогея. А насчет новых файлов, так они все записываются пользователем в директиве SAVE.
Я ее написал для РК86, но там она в ПЗУ и я решил заточить ее для Апогея. А насчет новых файлов, так они все записываются пользователем в директиве SAVE.
Тоесть поддержаны процедуры записи во флеш?
А исходники ее есть?
А то у меня в моих спеках 512Кб флеш ПЗУ есть, а ROM диск я так и не организовал. Вот и подумал, может твой подойдет как основа.
Vladimir_S
30.10.2017, 11:41
Mick, Вот для РК, но я его хотел править, писал три года назад. Потом глянул и поразился как бестолково. Сделано для внутреннего и внешнего диска. Потому, что ВВ55 может одновременно поддерживать 1Мб памяти.
Mick, Вот для РК, но я его хотел править, писал три года назад. Потом глянул и поразился как бестолково. Сделано для внутреннего и внешнего диска. Потому, что ВВ55 может одновременно поддерживать 1Мб памяти.
Спасибо, погляжу - может чего и сморожу для своего ROM диска.
Родилась такая система. Файловый менеджер для цветного Апогея на микросхеме AM29F040.
Владимир, а во флешину ничего зашивать не надо?
Vladimir_S
02.11.2017, 00:51
а во флешину ничего зашивать не надо?
Если имеешь в виду программатор, то нет. Если схема спаяна без ошибок, то программа DISTR.RKA сама установит на флеш и систему и загрузчик. Потом после включения нужно будет скачать в память загрузчик (R100,13F) и запустить его с нулевого адреса. Пока система в ОЗУ, можно запускать ее GD500. Cчитываешь нужную программулину, запускаешь систему и нажимаешь S, вводишь нужное имя, нажимаешь ВК, вводишь адрес начала и конца и программа сама записывается на флешку. Если имя программы заканчивается значком который на кнопке с цифрой 4, то программа стартует сама.
Владимир, значок на кнопке с цифрой 4, это значок недоделанного доллара.
Vladimir_S
21.12.2017, 10:59
значок на кнопке с цифрой 4, это значок недоделанного доллара.
Значит это переделанный знакогенератор. На оригинальном там такой кружок с рожками. Вот я и не знаю как он называется.
Странно. У меня после прог в Микрокоме стоит знак$. А тот с рожками скорее всего был заменен в СССР, т.к. символика США не очень нравилась КПСС.
Символ был предложен итальянцами[1] (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB_%D0%B2%D0%B0% D0%BB%D1%8E%D1%82%D1%8B#cite_note-1) в 1972 году как нейтральный символ взамен знака чужой валюты (https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BB%D0%BB%D0%B0%D1%80_%D0%A1%D0%A8% D0%90) $ (https://ru.wikipedia.org/wiki/%D0%97%D0%BD%D0%B0%D0%BA_%D0%B4%D0%BE%D0%BB%D0%BB% D0%B0%D1%80%D0%B0) (2416=3610) в международной семибитной кодировке символов ISO 646 (https://ru.wikipedia.org/wiki/ISO_646)[2] (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB_%D0%B2%D0%B0% D0%BB%D1%8E%D1%82%D1%8B#cite_note-2). Символ вошёл в международный телетайпный код и некоторые национальные таблицы ISO 646 (шведскую, кубинскую, венгерскую)[3] (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB_%D0%B2%D0%B0% D0%BB%D1%8E%D1%82%D1%8B#cite_note-3).
В СССР в семибитной кодировке КОИ-7 Н1/Н2 (https://ru.wikipedia.org/wiki/%D0%9A%D0%9E%D0%98-7) (использовалась в компьютерах серий СМ ЭВМ (https://ru.wikipedia.org/wiki/%D0%A1%D0%9C_%D0%AD%D0%92%D0%9C) и ДВК (https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D 1%8B%D0%B9_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0 %B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0% BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%81)) символ валюты заменял знак доллара и имел жаргонное наименование «краб» (ср. «собачка (https://ru.wikipedia.org/wiki/@)»). При использовании таких компьютеров в Бейсике (https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D0%B9%D1%81%D0%B8%D0%BA) для записи строковых переменных (https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%BE%D0%B2%D1%8B%D 0%B9_%D1%82%D0%B8%D0%BF) приходилось писать S¤, а не S$.
https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB_%D0%B2%D0%B0% D0%BB%D1%8E%D1%82%D1%8B
Vladimir_S
21.12.2017, 12:51
tnt23, Этот экскурс конечно интересен, но должно же быть у этого значка название?
TomaTLAB
21.12.2017, 12:56
"денежка" :) Ну как бы официальное Currency sign А жаргонное видимо за редкоупотребимостью не устоялось.
Vladimir_S
21.12.2017, 13:10
А жаргонное видимо за редкоупотребимостью не устоялось.
В каком то из журналов то ли Радио, то ли Радиолюбитель как то его назвали, но забыл даже в каком году.
Такой символ есть в Word где абзац в таблице.
tnt23, Этот экскурс конечно интересен, но должно же быть у этого значка название?
дык СИМВОЛ ВАЛЮТЫ, по ссылке же статья на Википедии.
Vladimir_S
21.12.2017, 14:09
СИМВОЛ ВАЛЮТЫ
Да это я понял. Просто не могу вспомнить - как то интересно его назвали в какой то статье.
Да это я понял. Просто не могу вспомнить - как то интересно его назвали в какой то статье.
"Клоп" или "солнышко"
Vladimir_S
21.12.2017, 14:21
"Клоп" или "солнышко"
Нет, что то типа скрибер или скрабер. Вот что то рядом, но не то.
Андрианов Игорь
21.12.2017, 14:38
Во второй половине восьмидесятых слышал два варианта - "солнышко" и "черепашка"
Это знак денежной единицы
http://miraduga.com/Temp/TablSpec.html
https://index.minfin.com.ua/sign/
CodeMaster
21.12.2017, 18:25
Нет, что то типа скрибер или скрабер.
scarab (https://en.wikipedia.org/wiki/Currency_sign_(typography))
Vladimir_S
22.12.2017, 01:30
scarab
Похоже.
Значит это переделанный знакогенератор. На оригинальном там такой кружок с рожками. Вот я и не знаю как он называется.
Это на РК-86 недоделанный доллар. А на Апогее как раз "кружок с рожками"...
Vladimir_S
23.12.2017, 03:00
Это на РК-86 недоделанный доллар. А на Апогее как раз "кружок с рожками"...
Вот уж не согласен. Тут часть оригинальной таблички из журнала Радио.
А вот это чьё?
HardWareMan
23.12.2017, 09:07
А вот это чьё?
Это знак литеры. Такой применялся в СССР.
Удобно, когда ROM-диск является универсальным сразу для всех ЭВМ, что есть у любителя. Если у кого-то 4 разных рэтро компьютера, то ведь одновременно он может пользоваться лишь одним из них. Значит иметь 4 ROM-диска незачем. Наиболее известным и максимально востребованным ROM-диском является ROM-диск от ОРИОНА, причём ROM-диск поддержанный по директиве U в РК86 также аппаратно с ним совместим (хотя в единственной публикации ПО для ROM-диска РК86 формат данных в диске несовместим, потому и пользы от такой публикации нет).
Итак, может кто-нибудь внятно ответить на всего 2 простых вопроса.
1. Совместимы ли ROM-диски обсуждаемые в этой теме аппаратно с ROM-диском РК86 и ОРИОНА ?
2. Если такая совместимость есть, то совместим ли формат файлов с ROM-диском ОРИОНА ?
Ответы на это определяют имеет ли смысл читать всю эту большую тему и грузить выложенные в ней файловые менеджеры для обслуживания ROM-диска, чтобы перетранслировать их на адреса РК86.
Программная совместимость формата ROM-диска имеет существенное значение для одностраничного ROM-диска. Если ROM-диск многостраничный, это не особо важно, т.к одну или несколько страниц в 64 кб можно отдать конкретному компьютеру. Например банку 0 - ОРИОНУ, банку 1 - РК86 и т.п. При этом остаётся только проблема начальной инициализации системы.
В машине, где резидентного ПЗУ много, поддержку ROM-диска можно встроить в резидентное ПЗУ, причём, это м.быть с автостартом или с запуском по сбросу меню. В варианте с меню по сбросу автоматически проверяется наличие В/У и как в ИРИШЕ предлагается выбрать тип загрузки - из дисковода, винчестера, microSD, ROM-диска, а в случае отсутствия всякой периферии происходит авто-выход в RAM-монитор. Если в ROM-диске программ немного, то можно, как в ИРИШЕ, включать их как пункты меню (это выгодно тем, что не нужна программа обслуживания ROM-диска).
Но вот, когда в ЭВМ резидентного ПЗУ "кот наплакал", то туда удаётся уместить только стартёр, т.е процедуру которая может только загрузить в ОЗУ один блок из жёстко фиксированных адресов ROM-диска и стартануть. И вот тут возникает проблема совместимости. И даже в многостраничном ROM-диске, т.к по сбросу сигналом RESET включается страница 0.
ROM-диск ОРИОНА является необходимым, т.к без него ОРИОН не работает. Изменение ROM-BIOS не поможет. Потому именно формат ROM-диска ОРИОНА это универсальный формат одностраничного универсального ROM-диска. Причём проблем с перепутыванием программ не возникает. Так, в моём ROM-диске программы ОРИОНА имеют символ $, а программы для РК86 имеют символ @. Сейчас понадобилось прошить программы СПЕЦИАЛИСТА. Для них я использую символ %. ОС или даже простейшую программу обслуживания ROM-диска можно грузить из файла ROM-диска. При такой концепции программы разных компьютеров используют общий ROM-диск, чужие файлы не мешают.
PS. А ещё удобнее, если ROM-диск не только совместим, а является ROM-диском с перезаписью (на базе ёмких статические ОЗУ с пуговичной батарейкой). Тогда часть ёмкости разумно использовать как ROM-диск для автостарта DOS, а большую часть отдать под энергонезависимый RAM-диск используемой DOS.
Stampmaker
24.12.2017, 11:53
Это знак литеры. Такой применялся в СССР.
это знак валюты.
так говорит википедия
https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB_%D0%B2%D0%B0% D0%BB%D1%8E%D1%82%D1%8B
HardWareMan
24.12.2017, 12:16
Stampmaker, я в курсе логической ошибки, просто привычка. Встретилась в описании какого-то Бэйсика на стадии обучения (28+ лет назад) и ничего с собой поделать не могу. Так то литера = символ, а $ (а в то время - ¤) означал символьную переменную. Как-то так.
Stampmaker
24.12.2017, 15:59
HardWareMan, во времена студенчества мы этот символ называли черепахой :) как правильно называется, естественно, не знали. учились на машинах Искра с языком Фортран. не помню, какую функцию в синтаксисе выполнял этот символ, но в текстах программ юзали мы его постоянно.
Вот уж не согласен. Тут часть оригинальной таблички из журнала Радио.
А вот это чьё?
Спасибо, беру свои слова обратно.
Нашел дамп в журнале и исправления к нему - действительно, в журнале был "кружок с рожками" :)
А в архиве - это мое. Но там для РК используется знакогенератор из "Партнера", в котором тоже знак валюты вместо доллара, но выглядит он немного по-другому.
Исправлю в эмуляторе.
А вообще интересно - на "железных" РК, которые доводилось видеть, на этом месте был именно доллар. Может быть, какой-то кооператив распространял готовые прошитые ПЗУ с модифицированным этим символом?
Vladimir_S
24.12.2017, 19:42
Может быть, какой-то кооператив распространял готовые прошитые ПЗУ с модифицированным этим символом?
Да, я видел у знакомых изготовленные в кооперативах РКшки с модифицированными символами.
... Наиболее известным и максимально востребованным ROM-диском является ROM-диск от ОРИОНА, причём ROM-диск поддержанный по директиве U в РК86 также аппаратно с ним совместим (хотя в единственной публикации ПО для ROM-диска РК86 формат данных в диске несовместим, потому и пользы от такой публикации нет).
Итак, может кто-нибудь внятно ответить на всего 2 простых вопроса.
1. Совместимы ли ROM-диски обсуждаемые в этой теме аппаратно с ROM-диском РК86 и ОРИОНА ?
2. Если такая совместимость есть, то совместим ли формат файлов с ROM-диском ОРИОНА ?
Ответы на это определяют имеет ли смысл читать всю эту большую тему и грузить выложенные в ней файловые менеджеры для обслуживания ROM-диска, чтобы перетранслировать их на адреса РК86.
Программная совместимость формата ROM-диска имеет существенное значение для одностраничного ROM-диска. Если ROM-диск многостраничный, это не особо важно, т.к одну или несколько страниц в 64 кб можно отдать конкретному компьютеру. Например банку 0 - ОРИОНУ, банку 1 - РК86 и т.п. При этом остаётся только проблема начальной инициализации системы.
ROM-диск ОРИОНА является необходимым, т.к без него ОРИОН не работает. Изменение ROM-BIOS не поможет. Потому именно формат ROM-диска ОРИОНА это универсальный формат одностраничного универсального ROM-диска. Причём проблем с перепутыванием программ не возникает. Так, в моём ROM-диске программы ОРИОНА имеют символ $, а программы для РК86 имеют символ @. Сейчас понадобилось прошить программы СПЕЦИАЛИСТА. Для них я использую символ %. ОС или даже простейшую программу обслуживания ROM-диска можно грузить из файла ROM-диска. При такой концепции программы разных компьютеров используют общий ROM-диск, чужие файлы не мешают.
PS. А ещё удобнее, если ROM-диск не только совместим, а является ROM-диском с перезаписью (на базе ёмких статические ОЗУ с пуговичной батарейкой). Тогда часть ёмкости разумно использовать как ROM-диск для автостарта DOS, а большую часть отдать под энергонезависимый RAM-диск используемой DOS.
Подобный вариант использования ROM/RAM дисков под управлением ORDOS 2.4 уже лет 10 используется у меня в Микрокоме.
Т.е. если есть желание работать в среде РК, то в режиме монитора можно использовать RAM/ROM диск для храненияРКшных программ по директивам
U- чтение программы из ПЗУ диска(64 кб),
A- чтение из TIMEKEEPERa(псевдо ОЗУ DS1386 32кб),
B- запись в TIMEKEEPER(псевдо ОЗУ DS1386 32кб),
N- запись в RAM диск на батарейке 64 кб,
J- чтение из RAM диска на батарейке 64кб
Если пользовать стандартную орионовскую ОR DOS 2.4 (директива Q), то имеем RAM диск на 128(256) кб и ROM диск на 64 кб
Эти два варианта RAM/ROM дисков пересекаются только через основное ОЗУ Микрокома (56кб).
и занимают минимум места(3 микросхемы...ПЗУ,ОЗУ и DS1386).
Естественно все программы были перетранслированы на адресное пространство Микрокома, если они не использовали стандартные точки входа монитора РК. Если программы пользовали только стандартные точки входа в монитор, то ни чего перетранслировать и не требуется.
вариант использования ROM/RAM дисков под управлением ORDOS 2.4 уже лет 10 используется у меня в Микрокоме
Не знаю ничего про Микроком и насколько он совместим по вызовам F800 с отечественными 8-ми разрядками, но примерно такой вариант и имелся ввиду (только без ПЗУ, зачем, если энергонезависимое ОЗУ эквивалентно). На эту идею меня натолкнула вот эта статья (http://www.danbigras.ru/Orion/ElDskOr/ElDskOr.html).
Вот только зачем использовать ORDOS? Если для ROM-диска такой формат отчасти оправдан, то для RAM-диска это абсолютная чушь. Зачем большой RAM-диск дробить на кучу крошечных RAM-дисков по 60 кб (даже не 64 кб), причём теряя и в скорости работы, - когда удаляется файл в начале квазидиска, весь массив квазидиска сдвигается, схлопываясь на место удалённого. Простейшая система с каталогом была бы проще, а без дефрагментации файлов и меньше по объёму, чем ORDOS и давала бы один большой сплошной RAM-диск, а не кучу крошечных и имена файлов были бы не в 8 символов, а 11 или более.
А прямо сейчас пока гуглил вышеупомянутую статью, обнаружил ещё один источник информации (http://zx-pk.ru/threads/25367-gibridnyj-elektronnyj-disk-dlya-prk-orion.html). Надо будет почитать на досуге, т.к внешний энергонезависимый RAM-диск как раз актуален для СПЕЦИАЛИСТА, где в отличие от ОРИОНА, основного ОЗУ "кот наплакал", не хватает даже для программ, не говоря уже о RAM-диске. А у меня как раз имеется почти мегабайт древней статики 62256 и w24257 и немеряно мегабайт современной планарной статики с шагом выводов 0.5 мм, которые, увы, непригодны для любительских поделок.
Не знаю ничего про Микроком и насколько он совместим по вызовам F800 с отечественными 8-ми разрядками, но примерно такой вариант и имелся ввиду (только без ПЗУ, зачем, если энергонезависимое ОЗУ эквивалентно).
есть ветка на этом форуме. Можете при желании почитать:
Радио РК-86: Компьютер с процессором 1821ВМ85
Вот только зачем использовать ORDOS? Если для ROM-диска такой формат отчасти оправдан, то для RAM-диска это абсолютная чушь. Зачем большой RAM-диск дробить на кучу крошечных RAM-дисков по 60 кб (даже не 64 кб), причём теряя и в скорости работы, - когда удаляется файл в начале квазидиска, весь массив квазидиска сдвигается, схлопываясь на место удалённого.
Я так понял, что у вас чисто теоретические изыскания и размышления...
Зачем вам быстрота и огромный RAM диск? чисто, что бы был?
Могу выразить свою точку зрения на размеры дисков.
например, что вы для РК можете записать резидентного в ROM диск? Давайте посчитаем...
Бейсик - 8 кбт
Ассемблер - 2 кбт
Дизассемблер - 2 кбт
Отладчик - 6,3 кбт
редактор текста - 2 кбт
Дос - 2,9 кбт
редактор памяти - 0,5 кбт
загрузчики разные и файлменеджеры ещё 4-5 кбт.
итого на круг - около 30 кбт.
Хотите эти программы хранить в квази ПЗУ на батарейке?
смысла ноль.
Всё это уложится в одну ПЗУ 27С512 и ещё останется место на пару любимых игровых программ для РК.
Так что диски по 60 кбт, а больше и не нужны.
Так что ORDOS самое то, что нужно.
Ну и про скорость то же улыбнуло. Это вам не РСюк и огромные массивы информации на ретро обрабатывать НЕ нужно. Хотите увеличить скорость в 2 раза ...поставьте кварц на частоту в 2 раза выше номинальной. Я на Микрокоме сделал турбо режим(двукратное ускорение)...не прижилось. Не нужно это просто.
Так что как то так.)))
Простейшая система с каталогом была бы проще, а без дефрагментации файлов и меньше по объёму, чем ORDOS и давала бы один большой сплошной RAM-диск, а не кучу крошечных и имена файлов были бы не в 8 символов, а 11 или более.
А зачем?
Лишь только для реализации своих задумок для своего варианта РК
PS: Обратите внимание, что ВСЁ крутится вокруг 30 (не 32) кбайт оперативной памяти РК.
Какие уж тут мегабайты.
У меня ROM диск на Микрокоме с 1 мгб (первый релиз) съёжился до 128 кбт(третий релиз).
Ну, нечего в ПЗУ заливать.
Приветствую.
Просьба - поделитесь, если у кого-либо остались герберы платы апогеевского ром-диска версии именно с ПЗУ, а не картой памяти. Или парой готовых плат. Предпочтительно под диповые чипы.
Тему пролистал, увидел только файлы под пегасус, которого у меня нет. Версию на sd не хочу, она бесполезно избыточна для меня.
https://github.com/alemorf/retro/tree/master/apogee_bk01-rom_disk/std_rom/Plata_DIP
Всем привет!
Кто-нибудь может помочь с приобретением ответной части разъёма расширения, установленного на плате Апогей-БК01Ц? А то плата компьютера в отличном состоянии и не хочется менять штатный разъём или подпаивать провода...
На барахолке продают Апогеи, в т.ч. на разбор.
У него в ЗИПе идет ответная часть для тестов.
Спросите, мож не откажут..
Всем привет!
Кто-нибудь может помочь с приобретением ответной части разъёма расширения, установленного на плате Апогей-БК01Ц? А то плата компьютера в отличном состоянии и не хочется менять штатный разъём или подпаивать провода...
В Чип-и-Дипе есть ГРПМШ-1-31 ГО2-В, розетка (https://www.chipdip.ru/product/grpmsh-1-31-go2-v) по 51 руб.
ROM-диск на основе ПЗУ 49LF004 или 49LF002 Работает.
ROM-диск на основе ПЗУ 49F040(у меня 49F040А dip32) Не работает.
Если присмотрется к фотографии,ест разница в схеме автора и заказнъх платах автора проекта.
Два дня не мог понят в чем дело...
Извините за ошибки, на клаве нет некоторъх русских букв.
ROM-диск на основе ПЗУ 49LF004 или 49LF002 Работает.
ROM-диск на основе ПЗУ 49F040(у меня 49F040А dip32) Не работает.
Платы.
Хотел сказать, спасибо!
собрал МГТФ - все запустилось после проверки и зашивки правильно ПЗУ.
время сборки 4 часа, так что, если у кого нет плат рекомендую на макетке.
Так же.
1. Если нет нужного разъёма, можно взять длинне и отрезать
2. Можно собрать на макетке как на фото, один ряд запаять, второй проложить полиамид,
что бы не коротнул на первый ряд.
Если уже где-то было - то извиняйте =)))
---------
Скажите, в Emu80 v.4 можно эмулировать эти ROM?
собственно только как первый месяц с Апогеем, до этого не сталикивался, не знаю пока как эмулировать
внешний разъём =) Буду признателен зассылки, куда читать.
7252772528
Vladimir_S
10.05.2020, 07:56
Года два-три назад переделал FLASH DOS с Радио-86РК на Апогей. И в цвете и с чтением-записью. Но, не помню, кажется не публиковал. Завтра съезжу на работу (я в отпуске) и отпишусь.
Vladimir_S
11.05.2020, 09:43
Так как в Апогее в адресном пространстве ПЗУ всего 2Кб, FDOS пришлось поместить в ОЗУ с адреса D500. Загрузчик находится в микросхеме памяти AM29F040. Нужно только выполнить следующие операции - R100,13F BK и G BK. Загрузчик перенесет систему в рабочие адреса и запустит систему. Кнопка ТАБ выбирает активную панель, F1 смена диска активной панели, остальное в строке подсказки. Если есть вопросы, не откажусь ответить.
Vladimir_S
12.05.2020, 05:36
Вот склеротик я стал. Написал, что микросхема памяти AM29C040 и чувствую, что что то не то. Конечно AM29F040.
CodeMaster
12.05.2020, 09:08
микросхема памяти AM29C040 и чувствую, что что то не то. Конечно AM29F040.
Этож только форма корпуса, сути не меняет.
Vladimir_S
12.05.2020, 09:12
Этож только форма корпуса, сути не меняет
Совершенно другой алгоритм чтения/записи.
К тому же не существует AM29C040, есть AT29C040.
О! Раз пошли вопросы про совместимость,
можете подсказать, хочу заменить в варианте ROM схемы с TM9
ультрафиолет на FLASH, есть такие флешки:
1. M27C1001
2. AT49F002
3. 29F002
и ещё идёт
AM29F040-90PC из Китая, я смогу это сделать? или все эти четыре микросхемы
не совместимы?
ps: попутно вопрос =)
можете подсказать кусок кода на асме, как считать из внешнего ROM по схеме с ТМ9 байт
по какому-нибудь адресу?
спасибо!
72591
Vladimir_S
13.05.2020, 12:32
Pyhesty, По чтению нет разницы, но запись у всех разные алгоритмы. Я когда задумал написать DOS, возник вопрос какую микруху применить. Был на форуме такой GDV2002(его потом за что то забанили), попросил сделать на AM29F040. Я посмотрел у себя и нашел парочку. Так что когда тебе они придут, рекомендую. Можно спаять и закрыть в корпусе.
Запись программ и форматирование программное.
Коллеги, можете подсказать, мучаюсь уже несколько дней, не могу понять
1. Пробую записать образ ROM в FLASH 29F002TPC-12
читается по команде R0,100 какой-то мусор
проверяю, что в Flash все нормально на двух разных программаторах, в программаторе уверен на 99%
проблемы нет...
2. Записываю все так же в УФ 27C1001 - все грузится нормально (((
ps: кстати, выяснил, что в моем апогее после сброса (запуска самого апогея) параметры регистра TM9 случайные,
то есть может быть действительно любая страница при запуске выбрана, лечится подачей коменды R8000,0
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot