23 November 2022
YL
17:17
Yuri S. Leskovec
Их всего 3 видел
Y
17:17
YL3AKC
In reply to this message
Да, но сильно редкий.
YL
17:18
Yuri S. Leskovec
И все 3 в музеях, один музей распродавал на ебее, второй на фото с Биллом Могриджем, третий у меня
ВЗ
17:40
Владислав Задорожкин
In reply to this message
На вики висит, что 1100 якобы только в документах и материалах был, физически не существовали вроде как типа
17:40
Поправку тогда надо туда
17:40
In reply to this message
А реально, в чем различия?
17:41
Просто прототип или чего
Y
17:51
YL3AKC
Сколько мне известно - 1100 был маркетиновой/демо экземпляр. Выпущено мало. Только для демонстрций публике. В нем нет модема. Больше не знаю.

Больше информаций в книге Yuri S.
YL
18:07
Yuri S. Leskovec
Да, книгу видно что не читали))
18:08
Наверное книга и появилась от того что Гленн ляпнул в СНМ в 2006-ом
18:08
Зато потом реабилитировался и помог с книгой, очень помог
18:11
In reply to this message
Этот миф помог сам Элленби развеять
ВЗ
18:11
Владислав Задорожкин
In reply to this message
Эл вариант нужен, при нынешней полит ситуации
YL
18:14
Yuri S. Leskovec
In reply to this message
Кто подскажет как на эл варианте заработать. Я столько лет работал над книгой, надеюсь что не бесплатно. Кто в наше время готов бесплатно поработать? Наверное мало таких
Y
18:14
YL3AKC
In reply to this message
Да, не читальи. Когда будет на солье, тогда и почитаем.
18:15
In reply to this message
Подписать ка я рассказывал про BATC журналы.

Ну и так, как это сделал Энди Вейр.
ВЗ
18:15
Владислав Задорожкин
In reply to this message
Ну, видать я с таких "дурачков"
Хотя пару раз помогал за денежно, но это мне добровольно давали, сам не выпрашивал
Y
18:19
YL3AKC
Примерно так. И это не вырезать.
YL
18:20
Yuri S. Leskovec
In reply to this message
Когда был молод работал про боно, сейчас уже не могу себе это позволить)
Y
18:20
YL3AKC
И надо посмотеть как Вадим Кукашевичь тогрует свои книги про трагедию MH17.
u
18:21
usernameak
In reply to this message
в том-то и дело что можно вырезать :)
18:21
это ж пдф, векторная графика
Y
18:21
YL3AKC
И да, нормльные люди честно книги покупает, не ломат и не кидает в на лево и право в Интернетах.
YL
18:21
Yuri S. Leskovec
In reply to this message
Поизучаю обязательно
Y
18:23
YL3AKC
Это как с ютюберами. Если контент годный народ сам донатит. Я к тому что за годные книги платит деньги. Да есть пиратсто, от этого не избежать. Если продаш 100 электронных книг, разве - это плохо?
YL
18:23
Yuri S. Leskovec
Если бы не эти чертовы кредиты и в деньгах без нужды, подарил бы всем бесплатно, даже напечатал бы и раздал)
u
18:24
usernameak
In reply to this message
понимаю, контент-криейторы тоже хотят кушать :)
Y
18:24
YL3AKC
In reply to this message
Это тоже слишком кардинально. За работу полагается оплата.
YL
18:24
Yuri S. Leskovec
Когда нибудь всё равно придется, сколько продержусь, контент всё равно в одном экземпляре
18:26
In reply to this message
Если бы была возможность, я бы отказался от сна и еды и делал контент, но куда деваться от физиологии
Y
18:26
YL3AKC
Для начало, действително, поизучай подпись электронногой книги. А потом продай 3 экземпляра людям, которым доверяешь что не сольёт в интернетах. Не обязательно продавать всем поряд. Ты можешь и отказать в продаже если не хочешь.
18:27
Но, я тут могу языком по пусту вертеть, ибо я не издатель.
u
18:27
usernameak
я бы если и купил, то хардкопи :)
чисто из уважения :)
YL
18:28
Yuri S. Leskovec
In reply to this message
Респект бро!
Y
18:29
YL3AKC
Но вот пока трудо за бугром купить...
18:30
А если попробовать через aliexpress? Там ведь мовно сделать свой магазин и торговать...
YL
18:30
Yuri S. Leskovec
Попробую с другом из Молдовы договориться
Y
18:30
YL3AKC
Я бы взял.
YL
18:30
Yuri S. Leskovec
👍
18:31
Надо будет на ангельском тоже издать
u
18:31
usernameak
для этого её надо сначала локализовать :)
YL
18:31
Yuri S. Leskovec
Интервью все оригиналы есть
ВЗ
18:32
Владислав Задорожкин
In reply to this message
Или просто перегнать в картинки, та затереть в редакторе
18:32
И тоже нн установишь, кто слил)
Y
18:32
YL3AKC
In reply to this message
YL
18:32
Yuri S. Leskovec
Или часть текста показывать, дальше в твердом переплете
Y
18:33
YL3AKC
In reply to this message
Вот таким и не надо такую книгу давать в руки. Чтоб только спиздить...
😁
AS
18:36
Я подписанный шурнал не распространяю по той простой причине что не хочу плохую репутацию. Не хочу чтоб именно моя копия уплыла в интернет. Но журнал - это дугое. После 2 лет журнал доступен безплатно. А самые свежые только членам клуба. Можно заказать как печатную версию, так и электронную.
18:37
Кто ценит труд автора тот и небудет херней заниматся.
18:39
И да, можно закидать паскалки в фотках. Человек не видит/не заметит что это, а автор знает чя копия. Геморно, но так мовно идентифицировать чя копия слита в интернет.
AS
18:41
Andrey Smirnov
In reply to this message
Теперь в курсе.
18:41
In reply to this message
ГРиД-оактивный!
Y
18:43
YL3AKC
In reply to this message
О! Появился журналист-инсайдер! 😉
😱
AS
YL
18:49
Yuri S. Leskovec
Графика или реальное фото?
AS
18:49
Andrey Smirnov
In reply to this message
Очень интересно, как оно туда отмюправляется
18:49
In reply to this message
Понятно
Y
18:52
YL3AKC
In reply to this message
Как туда заливается? С помощью магий и некоторого гемора.
😱
AS
18:54
In reply to this message
Надо немного потерпеть. Ибо там есть линки на яндек диск Кирилла (@Megabozyakorovka). Надеюсь там нет не чего "лишнего". Жду подтверждение Кирилла.
18:55
Ну и Юрий (Yuri S. ) мог бы посмотреть, нет ли лишнех фоток сдесь: https://bs0dd.zapto.org/grid/index.php?lang=eng&dir=photos

и сдесь: https://bs0dd.zapto.org/grid/index.php?lang=eng&dir=photos%2FYuri
AS
18:58
Andrey Smirnov
In reply to this message
Понял.

👍
YL
18:59
Yuri S. Leskovec
In reply to this message
Глянем
AS
19:02
Andrey Smirnov
In reply to this message
По моему опыту (скромному).

Как только ты регистрируешь домен, он автоматически плявляется в каких то списках - каталогах.

Соответственно помсковики иидругие боты его моментально индескируют.

То есть если там и есть документы утекание которых не желательно.
То желательно не открывать их до релиза.

Есть риск что все уже проиндексировант
Y
19:05
YL3AKC
In reply to this message
Ну как бы не критично. Всё брал из публичных ресурсов, но всё таки...

Особенно эксперименты Кирилла с ГРиДовским ГПИБ. Это пока не было в публичном доступе.

А я просто залил всю свою папку с архивом. Там много тупых и не нужных хвостов.
19:06
In reply to this message
И да, сервер пока не доступен на 24/7
AS
19:07
Andrey Smirnov
Э
ЭлектроКот - ТехноБлог 23.11.2022 19:07:33
GRiD Compass by Kirill Leyfer


https://coub.com/view/25ewdv
👍
Y
AS
19:20
Andrey Smirnov
In reply to this message
Понял
YL
19:23
Yuri S. Leskovec
In reply to this message
Хорошо что разместили, вдруг мой контент когда нибудь слетит, хоть здесь останется))
🔥
AS
AS
19:23
Andrey Smirnov
In reply to this message
То есть каждый экземпляр электронного журнала индивидуально подписывается для каждого?
Y
19:25
YL3AKC
In reply to this message
Да, 8 самых свежих номеров доступны только мемберам. Залогился и они доступны для скачивания. Ну и как качаешь, так получаешь подписанхый.
🔥
AS
19:25
Там более 2000 мемберов.
AS
19:25
Andrey Smirnov
In reply to this message
Андрей его вроде RITM назвал

https://t.me/ritm_m

Наверное это касается только телеграмканала
👍
Y
Y
19:29
YL3AKC
In reply to this message
Спасибо! Будет с кем договорится по поводу доставки книги.
AS
19:32
Andrey Smirnov
In reply to this message
В начале и конце книги указать:

"Данная электронная копия дозволена к распространению на безвозмездной основе.

Приобрести физическую копию вы можете обратившись к автору (дистрибьютору) по таким контактам: ....

Материально поддержать автора можете по таким реквизитам: ....

Все пожертования будут потрачены на исследования редких компьютеров GRiD."
19:33
In reply to this message
@restore_retro

Andrew

Я переписываюсь с ним.
Y
19:35
YL3AKC
Тоже вариант. Но мне нравится идея с паскалками в фотках. Допустим поставить фотку с рандомнами точками на дисплее ГРиДа. А точки то не рандомные, там закодирован покупатель книги...
AS
19:35
Andrey Smirnov
In reply to this message
сагрегатировал
👍😊
19:36
Зовите, если че..

Я не успеваю 500 чатов по 500 сообщений читать
Y
19:38
YL3AKC
In reply to this message
Я так много не читаю. Просто кликаю пометить как прочтенные.
😱
AS
AS
19:39
Andrey Smirnov
In reply to this message
Иногдамприходится и так.

Вот сегодня 350 сообщениц тут прочитал
И 850 в Спринтер.

Караул
19:42
Надо и про GRiD фильм снять
AS
19:42
Andrey Smirnov
Э
ЭлектроКот - ТехноБлог 10.08.2022 11:14:14
RITMM
Музей ретро техники в Кишеневе:

На сьемках фильма "От первой микросхемы до последнего мегабайта"

https://youtube.com/shorts/SGA0ZXoTEmY?feature=share

https://t.me/ritm_m_chat
u
19:55
usernameak
In reply to this message
обычно для этого им нужна хоть одна ссылка на этот домен из того, что есть в их индексе
19:56
или же самому запросить индексацию
Y
19:57
YL3AKC
Ссылка есть. В основном сайте про Нокиа.
AS
19:57
Andrey Smirnov
In reply to this message
"Список вновь зпрегистрированных доменов"
Y
20:22
YL3AKC
In reply to this message
Там же домен 3 уровня...
ВЗ
20:53
Владислав Задорожкин
In reply to this message
?
20:54
In reply to this message
Не проиндексирует
20:54
Домен третьего уровня
20:54
Они ж не индексируются как правило
20:54
А на домен второго денюжки пока отстутствуют
20:55
In reply to this message
Вот с этим пока трудно
20:55
Надо энергоэкономную систему
20:55
А не гроб с двумя бп
YL
21:26
Yuri S. Leskovec
21:26
21:26
Как вам такие фотки?
24 November 2022
Y
04:33
YL3AKC
Как искусство - красиво.

Но я - человек жестокий и практик. Для меня самое красивое будет захваченные диаграммы разных пинов на материнке ГРиДе, сделанные логическим анализатором.
04:37
Yuri S. @usernameak похожие новости про 300315-02 микросхему на материнке 1101 возле RTC и UART. Похоже что у неё 2 функций: Устанавливать что-то для UART и что-то делать с GPIB. Это исходит от анализа кода БИОСа. При национализаций код что-то пишет в 3. регистр. Похоже для работы узла GPIB. И после национализаций UART, пишет в регистру 0,1,2. Скорее всего для установки baudrate.
YL
04:59
Yuri S. Leskovec
👍
AS
08:02
Andrey Smirnov
In reply to this message
Ага.
Если эротику - то только голый кремниевый кристалл
😂👍
08:03
08:04
In reply to this message
Древнерусские технологии.


Фотоинравятся
Y
08:06
YL3AKC
In reply to this message
Древнее да, но русские ли?
👍
AS
ВЗ
10:38
Владислав Задорожкин
ВЗ
Владислав Задорожкин 24.11.2022 10:38:46
Оъ
🔥
AS
Y
YL
25 November 2022
ВЗ
13:11
Владислав Задорожкин
In reply to this message
Кстати, есть ли у кого идеи на этот счет? Нужно что-то достаточно компактное, не слишком мощное, но чтоб туда сунуть накопитель побольше. Ну и конечно, не болезненное по цене
u
13:11
usernameak
In reply to this message
старый ноут хехехе
ВЗ
13:12
Владислав Задорожкин
In reply to this message
не слишком они энергоэффективны
13:12
да и что толку с того же P4
u
13:12
usernameak
ну п4 это очень плохая идея
ВЗ
13:13
Владислав Задорожкин
тонкий клент звучал хорошо
13:13
но он сдох
Y
14:27
YL3AKC
In reply to this message
odnoplatnik s usb perehodnikom na sata
ВЗ
14:35
Владислав Задорожкин
In reply to this message
USB-SATA эт костыльство...
Y
14:43
YL3AKC
odnoplatnik s sata na bortu dorozhe
ВЗ
15:39
Владислав Задорожкин
ладно, с этой темой еще поразмышляю-с
15:39
думаю как-то домен нормальный запарковать
15:47
и еще, собсно, у какого регистратора
Y
16:40
YL3AKC
In reply to this message
AS
18:53
Andrey Smirnov
In reply to this message
Роутер
ВЗ
18:53
Владислав Задорожкин
In reply to this message
Как же это я, на роутере, веб сервер устрою
AS
18:54
Andrey Smirnov
In reply to this message
Этогр я не знаю.
Но туда линукс стявят.
Правда много подключениц врзможно и не выдержит
Y
18:55
YL3AKC
In reply to this message
Можно, но настолько гемороино, что нет смысла.
AS
18:56
Andrey Smirnov
In reply to this message
Y
18:57
YL3AKC
In reply to this message
Теоретически да, практически геморно.
u
18:58
usernameak
@YL3AKC как латышу будет мерзко это слышать: поставить опенврт на микротик
ВЗ
19:00
Владислав Задорожкин
In reply to this message
Роутеры они для управления сетями, пусть ими и управляют
19:00
А ~14гб файлы хранить
Y
19:01
YL3AKC
In reply to this message
Хаха! Не будет мерзко. Но, "а там можно было"? Не знал что на микротик можно снести роутерОС и засунуть openwrt.
u
19:01
usernameak
In reply to this message
вообще можно
Y
19:03
YL3AKC
PRi ZeroW + usb<=>sata + HDD. Done!

Ну и 2 блока питания (для меня один, я электронщик с паяльником).
19:04
Вот только надо посмотреть какая пропускная скорость у ZeroW WiFi.
u
19:05
usernameak
In reply to this message
меня напрягает что в оригинальной ZeroW ARMv6 :)
Y
19:05
YL3AKC
У меня PRi 3 гоняет VPN около 30-40 МБит/сек.
u
19:06
usernameak
In reply to this message
у меня есть вторая с более нормальным процессором
Y
19:06
YL3AKC
In reply to this message
Ему то php надо гонять и фаилы. Там много дурьи не надо.
u
19:06
usernameak
In reply to this message
просто ARMv6 нынче уже, можно сказать, старое старьё :)
ВЗ
19:07
Владислав Задорожкин
Даа, а я вот дожился конечно, у меня все либо морально старое, либо слишком мощное
Y
19:07
YL3AKC
Но цена! За 10-25 евреев + HDD можно собрать.
u
19:07
usernameak
In reply to this message
ему уже лет 10 как пора покоиться на свалке истории
Y
19:08
YL3AKC
In reply to this message
Для программеров да, но для ембеддеров нет! Да и всякие там IoT...
Y
21:59
YL3AKC
In reply to this message
И потребляемое количество электроэнергий.
AS
23:06
Andrey Smirnov
Хм..
Не у жели в Малине ппоцессор мощнее чем в роутере?
Y
23:15
YL3AKC
In reply to this message
А зачем в роутере мочный процессор если есть железные акселератори роутинга?
23:16
Ну и Количество ОЗУ...
26 November 2022
AS
05:44
Andrey Smirnov
Согласен.
Задачи рачные
28 November 2022
30 November 2022
Y
21:23
YL3AKC
Продолжаем делать вещи... Еще один маленький шаг в перёд.
21:34
Начинаю понимать больше про сегменты и группы. Скоро доберусь и то содержания, которое спрятано в длинных бинарных записях с кодом и не только.
1 December 2022
Y
01:43
YL3AKC
INTEGRID/DEVICE.PLM содержит код, который показывает загрузочную картинку.

Функция назыеается
DisplayScreenInit

А тут структура заголовка загрузочной картинки:

DCL ScreenPropsType LIT 'STRUCTURE
(commonProp BYTE,
length WORD,
width WORD,
height WORD,
commonPropEnd BYTE)';
01:48
struct ScreenPropsType {
uint8_t commonProp = 0xFE;
uint16_t length = 0x0004;
uint16_t width; // hardcoded as 320 in function. ignored in file???
uint16_t height; // determinded in function. ignored in file???
uint8_t commonPropEnd = 0xFF;
}
Y
02:33
YL3AKC
Ну во. Опять решил поиздеваться над ROM дампами. Некие дампы из GRiDCASE найденные в Yahoo групе.

Естественно, монтируется под линукс. Значит опять некое подобие FAT12. Во внутри MSDOS 2.11, Бейсик и звонилка по модему.
🔥
AS
Y
03:29
YL3AKC
@burguymlt дампы можно и публиковать, но не уверен что кому-то интересно.
Y
06:42
YL3AKC
Немного поигрался с файлом шрифтов...
06:42
Пока не 100% автоматизация, но если очень хочется увидеть, то и с руки можно...
AS
08:33
Andrey Smirnov
In reply to this message
И шрифты опубликовать?
08:34
И этоине с GRiD а с терминала VT100?

Или они подходят
Y
21:17
YL3AKC
Ну как... На гриде нет текстового режима как в IBM PC. Тоесть не апаратного режима в видео карте для текстового ревима. Есть только графический ревим 320х240 или 512х256 в зависимости от модельи. Для текста есть определённие функций и в БИОСе и в Операционке, которые рисует буквы в графическом режиме. Это даёт возмовность на дисплее рисовать любой фонт.

Данный фонт TypeVT100 6x8 предносначен для софта эмуляций терминала VT100. Но, конечно и другие софты могут пользоватся этим шрифтом.
21:20
Если хочешь, можно и публиковть. Может кому-то пригодится. Есть там технические нюансы, но не важно. Пока нет готовой утилиты, которая сразу вытягивает все символы в картинку. Пока это демонстрация концепта - формат шрифта понятен и есть возмовность его вытянуть из файла и увидеть.
21:20
Как-то так...
21:21
Перед публикаций цитатов, надо бы подправить ошибки орфографий.
Y
21:50
YL3AKC
@burguymlt Хайлайт, а то забыл в другом коменте это сделать.
2 December 2022
Y
01:57
YL3AKC
@usernameak Узнаешь?
01:57
Старое. Игнорим! Залил по свежее.
01:58
Даже если анализатор OMF файлов не закончен, уже интересно посмотреть что там внутри.
u
01:58
usernameak
я его собирал родным компилятором
Y
01:59
YL3AKC
А я разобрал на куски не родным разбирателем. 😃
Y
07:53
YL3AKC
Какая-то не понятная фигня с описанием и инициализаций регистров получается...
07:55
Не фига не понятно. Один указывает на другой, но в конце концов не хера нет конкретных указателей...
07:55
Или я просто не понимаю (или понимаю не правильно) значение некоторых полей.
Y
10:54
YL3AKC
@usernameak Вопрос: как понять какую функцию из int70h вызывает пользовательская программа?
10:56
Можем ингорировать. Листинг полная ерунда. Годен только бинарник.
AS
11:36
Andrey Smirnov
In reply to this message
Поделился.
Исправил текст

https://t.me/electro_kot/10835
Y
11:40
YL3AKC
Спасибо. Уже читал. Там всё в одну кашу получилось, да и фиг с ним.
u
12:27
usernameak
In reply to this message
сразу за int 70h идёт байт с номером функции
12:27
* IDA от этого взрывается
Y
12:28
YL3AKC
"За" или "перед" ?
u
12:28
usernameak
после
12:28
там сделано так, что оно возвращается из прерывания через один байт :)
Y
12:29
YL3AKC
u
12:29
usernameak
я писал плагин для IDA чтобы это фиксить
12:29
но я его просрал
12:30
In reply to this message
вот, тут неправильно :)
Y
12:30
YL3AKC
Но я хочу узнать что будет делать int70h. Значит мне надо смотреть до вызова...
u
12:30
usernameak
не, короче
12:30
следующий байт - не следующая инструкция
Y
12:30
YL3AKC
InterruptEntry:

POP BX ; get IP
POP ES ; get CS
POPF ; set flags

MOV AX, ES:[BX] ; get call #


Нарыл такое в inteGRiD
u
12:31
usernameak
In reply to this message
там идёт байт с номером функции
12:31
а потом уже следующая инструкция
Y
12:31
YL3AKC
нехера не понял.
12:32
In reply to this message
Можешь по этой картинке сказать номер вызываемой функций?
u
12:33
usernameak
In reply to this message
по этой нет, по тому файлу где сбоку хексдамп 0x26
12:33
а ещё следующая инструкция закоррапчена
12:33
потому что этот байт при дизасме надо пропускать
Y
12:34
YL3AKC
In reply to this message
Наверное нчинает доходить...
12:35
Тоесть байт после int 70h команды и есть номер ?
ВЗ
12:35
Владислав Задорожкин
Даа, с асмом в 8080 все ккда проще...
u
12:35
usernameak
In reply to this message
да!
Y
12:36
YL3AKC
не хера себе странно!
u
12:36
usernameak
In reply to this message
это специфичный для системы прикол
ВЗ
12:36
Владислав Задорожкин
In reply to this message
Хммм
12:36
Лол
u
12:36
usernameak
In reply to this message
кажись что-то похожее было в вин95
Y
12:36
YL3AKC
Я я ахуе!
12:37
Тут будет вызвана фунция с номером 0х26 ?
12:37
А после неё код как обычно?
u
12:38
usernameak
Да
Y
12:38
YL3AKC
К стати, я для начала смотрю ту же самую программу что и Кирилл пытался разобрать пару лет назад.
12:38
In reply to this message
Теперь вроде +/- правильно в IDA показывает?
u
12:39
usernameak
In reply to this message
хотя это все еще не современная винда, где такой дури нет, но номера сискаллов могут меняться через версию винды
12:39
In reply to this message
ну да
Y
12:43
YL3AKC
12:43
@burguymlt Как тебе такое? Это просто охереть!
u
12:43
usernameak
In reply to this message
я сам еле допер как это вообще работает
Y
12:45
YL3AKC
In reply to this message
А я слишком старый и тупой для таких приколов.
12:46
Но да ладно. Хоть бы могу разобрать OMF по кускам и примерно понять что да как.
12:55
Пора смотреть что за вызовы...
AS
12:57
Andrey Smirnov
In reply to this message
И хорошо.

По тексту понятно же
13:02
In reply to this message
Про готов или про ассемблер?
u
13:03
usernameak
In reply to this message
про ассемблер :)
AS
13:04
Andrey Smirnov
Я прерывания мсдос не знаю на память...
u
13:05
usernameak
тут их всего 3 по моему
Y
13:21
YL3AKC
То, что ты только что стер, мы дизассемблироем в голове! 😎
AS
13:21
Andrey Smirnov
Э
ЭлектроКот - ТехноБлог 02.12.2022 13:21:49
13:21
Э
ЭлектроКот - ТехноБлог 02.12.2022 13:21:49
13:21
Э
ЭлектроКот - ТехноБлог 02.12.2022 13:21:49
13:21
Э
ЭлектроКот - ТехноБлог 02.12.2022 13:21:49
13:21
Э
ЭлектроКот - ТехноБлог 02.12.2022 13:21:49
Hello world
Я программист.

Ни каких ide.
Только hex редактор и машинный код

Из стать на википедии
https://ru.m.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4

Программа «Hello, world!» для процессора архитектуры x86 (ОС MS DOS, вывод при помощи BIOS прерывания int 10h) выглядит следующим образом (в шестнадцатеричном представлении):

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Данная программа работает при её размещении по смещению 10016. Отдельные инструкции выделены цветом:

BB 11 01, B9 0D 00, B4 0E, 8A

07 — команды присвоения значений регистрам.
43 — инкремент регистра BX.

CD 10, CD 20

— вызов программных прерываний 1016 и 2016.

E2 F9

— команда для организации цикла.

Малиновым показаны данные (строка «Hello, world!»).
Y
13:22
YL3AKC
In reply to this message
Про то как реализованы сервисы системного прерывания.

Номер после вызова прерывания... Эпта!
13:23
CD 10 - БИОС сервис видео
CD 20 - простой возврат в ДОС.
13:24
48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Строка с текстом.
AS
13:24
Andrey Smirnov
In reply to this message
Да
Y
13:24
YL3AKC
А вот где MOV, я пока не знаю.
AS
13:24
Andrey Smirnov
In reply to this message
Что прочитал, то и знаю.
Не больше
Y
13:25
YL3AKC
Помню пару лет назат делал ACPI shutdown для MS DOSа.
13:26
Надо порытся в старых файлах.
13:26
Пи этом писал в debug.exe, ибо не было под рукой средств компиляций.
13:29
Надо дождатся когда @Blue_Screen_0f_Death запустит сервер и залить туда последний код OMF анализатора.

А пока закину последнее в гитхаб.
AS
13:30
Andrey Smirnov
HEX редактора достаточно
Y
13:30
YL3AKC
Может @usernameak захочет поковырятся.
13:30
In reply to this message
Слишком жестко для меня. Но если потренироваться, то можно.
u
13:40
usernameak
In reply to this message
там же виртуальная машина нужна
Y
13:45
YL3AKC
In reply to this message
Да, изначально как-раз для виртуалки делал.
13:55
@usernameak кстати! Нашел еще одно место где есть сканкоды клавиатуры.

3_GRiD-OS-Reference.pdf - тут хреновый скан.

35_GRiDcompass-MSDOS-technical.pdf - Это что-то новенькое для меня. Тут вроде качество по луче, но пока досконально не изучал. Надо будет сравнить.
ВЗ
13:56
Владислав Задорожкин
In reply to this message
А, ой, щас будет
с веб-морды запущу
13:58
Счас он пока там RAID проинициализирует
Y
13:58
YL3AKC
In reply to this message
Не к спешки. Есть копия на гитхабе.
13:59
Такс @Megabozyakorovka ! Что это такое, а? Небесь уже забил болт на это...
KL
13:59
Kirill Leyfer
Вообще не помню, очень давно было
14:00
а откуда это?
Y
14:00
YL3AKC
In reply to this message
Из интернета.
14:00
Стырил из вк. Подправил так чтоб было автономно и сохранил в своей коллекций...
KL
14:00
Kirill Leyfer
я просто не помню, чтобы делал какой-то дизасм чего-либо

и тем более выкладывал в паблик
14:01
из Вк? Я что-то в группе постил?
Y
14:01
YL3AKC
In reply to this message
Наврное после 3 бутылок вина делал...
KL
14:01
Kirill Leyfer
Блин, извините ребят, мне сейчас и правда не до этого, ничего уже не помню
Y
14:02
YL3AKC
In reply to this message
Сща найду... Только тор надо запустить. А то яндекс у меня не работает.
14:02
Или сам найди в яндексе: "Первые шаги к разработке софта под GRiD OS"
KL
14:02
Kirill Leyfer
аааааааааа, точно. Выкладывал
14:02
это был дизасм какого-то очень мелкого бинаря, кажется
14:02
но вот какого именно - убейте не помню
Y
14:02
YL3AKC
In reply to this message
А я помню.
14:03
Посмотры в недание файлы чата.
KL
14:03
Kirill Leyfer
In reply to this message
ага, ясно
Y
14:03
YL3AKC
AutoBackup или что-то вроде того.
14:05
In reply to this message
Какраз вчера/сегодня ночю научился более менее корректо выдергивать код из файлов. Даже больше. Показывает примерно что творится с сегментами стека и данных.
14:06
In reply to this message
Так и не смотрел что нельзя публиковать из твоих файлов в интернете...

https://bs0dd.zapto.org/grid/
14:07
Конкретный вопрос по файлам из этой ссылки:

https://disk.yandex.ru/d/GhaCiQTentekC
u
14:08
usernameak
In reply to this message
второе есть уже
Y
14:08
YL3AKC
И плюсом твои поделки по реверсингу GPiB.

https://bs0dd.zapto.org/grid/kirill_leyfer_GPIB_experiments_emul.7z
14:09
In reply to this message
Ясно...
14:10
In reply to this message
А зеркало твоей коллекций в формате .ZIP ? Можно?
u
14:17
usernameak
https://deltacxx.insomnia247.nl/gridcompass/large_files/
а то что в корне можно легко выкачать руками
14:17
почему large_files? это симлинк на HDD :)
Y
14:23
YL3AKC
In reply to this message
Как есть, так и храню.
Y
17:30
YL3AKC
56. (6-18) страница.

Теперь понятна назначение файла
@SystemErrors~Text~
5 December 2022
Y
09:51
YL3AKC
@usernameak Глянь ка на материнки 1100 от Yuri S. и на 1101 от @Megabozyakorovka
09:51
А именно на ГРиДовские микрухи и на PAL...
09:52
09:53
На 1101 некоторые ГРиДовские микрухи заменены на обычные PALы.
09:54
Это ещо одино подтверждение моей теорий, что в на материнке ГРиДа обычные PALы, но изготовленные по заказу ГРиДа с маской на заводе.
09:55
Надо бы по больше фоток материнок достать от всех владельцев ГРиДов во всём мире.
Y
10:39
YL3AKC
Не много информаций по реверсингу PALов.

https://www.techtravels.org/category/palre/
10:41
@Megabozyakorovka Что там у тебя с Compass 1101? Есть на месте?
KL
10:42
Kirill Leyfer
пока есть, да
Y
10:43
YL3AKC
In reply to this message
А время для ковыряния на плате есть?
KL
10:43
Kirill Leyfer
увы, нет
Y
10:43
YL3AKC
Жаль!
ВЗ
11:25
Владислав Задорожкин
In reply to this message
С - Стабильность
👍
YL
Y
13:08
YL3AKC
In reply to this message
Сервер сегодня будет? Надо немножко посинхронизировать.
ВЗ
13:19
Владислав Задорожкин
Будет
Правда, скорее всего, по обедне
Я к сети его походу не подрубил вчера
Y
14:54
YL3AKC
Почему-то напоминает что-то на плате ГРиДа... Но, это не точно!

https://www.intel-vintage.info/intelmcs.htm#710768282
Y
16:52
YL3AKC
@usernameak а где структура
struct floppy2_desc_t


https://deltacxx.insomnia247.nl/gridcompass/disk_info.txt
16:53
Я нашел в исходниках только
ParameterStatus
u
17:10
usernameak
In reply to this message
не помню
17:10
я её сам из пакета разобрал вроде
Y
17:11
YL3AKC
Из какого пакета?
17:11
Или... Из данных, записанных логическим анализатором?
u
17:34
usernameak
да
Y
17:38
YL3AKC
mmda...
9 December 2022
Y
14:26
YL3AKC
Интересный документик по 8086/8087
10 December 2022
Y
16:18
YL3AKC
Yuri S. Наверное я понял что такое U27 300135-02 и есть идея на что заменить. Только надо знать куда именно она подключена.
👍
YL
Y
16:35
YL3AKC
Пока теория такая:
* Один вход на шину данных D0;
* Четыре входа на шину адреса А2-А4;
* Один вход к сигналу тактирования;
* Один вход в дешифратору адресов;
* Выходы идёт на микросхему UART D8274;
* Некоторые входы от Дополнительных микросхем, которые относится к UART периферий.
11 December 2022
Y
00:34
YL3AKC
Некая ересь для понимания контроллера клавиатуры:

#define keyboardIRQnum 2
#define keyboardHWaddress 0xDFFC0
#define dataPort 0
#define commandPort 1

void endIRQ(uint8_t irqNum);
void doKeyboardHandler();
void doWatchDogHandler();
void keyboardSendCommand(uint8_t ah, uint8_t al);
uint8_t readKeyboardPort(uint8_t portNum);

uint16_t keyboardStatusKey; // somewhere in global BIOS RAM area

uint8_t readKeyboardPort(uint8_t portNum) {
// do imaginary magic with 8086 real mode asm
// "in al, (keyboardHWaddress + portNum << 1)"
}

void keyboardIRQ() {
uint8_t al, ah;
endIRQ( keyboardIRQnum );
al = readKeyboardPort( dataPort );
ah = readKeyboardPort( commandPort );

if ( al == 0xFF ) {
return;
} else if ( al == 0xFE ) {
return;
} else if ( al == 0xFD ) {
keyboardSendCommand( 0x1, 0x10 ) //al = 0x10; ah = 0x01;
doWatchDogHandler();
} else {
keyboardStatusKey = ( ah << 8 ) | al ;
doKeyboardHandler();
}
}
12 December 2022
Y
21:58
YL3AKC
Хмм... Интел рекомендовал чтоб не изпользовали прерывания 0x0-0x1F ибо они зарезервированы для софта/железа от Интел.

Угадайте, кто забил болт на эту рекомендацию и кто последовал этой рекомендаций.

В результате забивания болта на рекомендаций Интела, самому Интелу надо было городить костили в 80286 и последующик процессорах в защищенном режиме для совместимости.

+20 очков за толковость и читание спецификаций Грифиндору (ГРиДу).
14 December 2022
Y
20:14
YL3AKC
@usernameak добвил в свой эмулятор грида, чтоб проц считал циклы. Получилось что проц начал работать медленней ибо реальный 8086 не выполняет не одну команду за один такт. Там всё на много медленней.

И теперь загружает CCOS более стабильно.
👍
YL
20:14
Надо бы наконец-то поправить говнокод в клавиатуре.
u
20:15
usernameak
In reply to this message
а теперь... а теперь на x86 всего три платформы
Y
20:15
YL3AKC
три?
u
20:15
usernameak
In reply to this message
PlayStation/Xbox ещё
они не PC-совместимые
Y
20:16
YL3AKC
ахх, да плоха тоже на х86 теперь. а про иксЯщик я просто забыл.
u
20:17
usernameak
In reply to this message
хуящик кроме 360 всегда был x86
Y
20:49
YL3AKC
In reply to this message
Да, помню, смотрел видос как первый хуящик ломали.
15 December 2022
Timofej joined group by request
19:44
Как пример упорство для тех, кто говорят: я не умею в ардуино.
19:44
Если захотеть, то можно научится.
16 December 2022
Y
15:21
YL3AKC
@usernameak переписал CpCatchAll на Си и, похоже, разобрался с некоторыми командами контроллера клавиатуры. Возможно это нужно в некоторых ситуациях при работе с GPIB DMA watchDog. Если GPIB виртуальный то таймаут во время DMA обычно не будет ибо в эмуляторы все кабельи и соединения "исправны", виртуальные контроллеры не глючит и дискеты "идеальны".
15:21
Как-то так...
24 December 2022
Y
11:19
YL3AKC
Yuri S. Какие планы до 1. Января? Можем договорится о времени для изучения материнской платы ГРиДа?
ВЗ
11:31
Владислав Задорожкин
In reply to this message
А мне тут понадобится помощь с изучением платы от матричного принтера
11:31
Это к которму я хз как подключаться по RS232
11:31
Распиновку бы выявить
Y
11:36
YL3AKC
Ну давай!
ВЗ
11:38
Владислав Задорожкин
Выкопаю только платы
11:38
Куда-то засунул их
Y
11:38
YL3AKC
Попробуем через видео ?
ВЗ
11:38
Владислав Задорожкин
А та, что в принтер поставлена - не охота скручивать
11:38
In reply to this message
Боюсь качества не хватит
11:39
Лучше отфоткаю
Y
11:39
YL3AKC
Хватит!
11:39
Особенно если есть второй телефон с хорошей камерой для фоток.
11:39
Можно даже аудио и фото.
ВЗ
11:43
Владислав Задорожкин
Вообще сам по себе разъем тут вроде и обычный DB25
11:44
Но с переходником DB25-DE9 он не печатает
Y
11:45
YL3AKC
Надо фотку с верху чтоб видеть микросхемы.
11:45
И чтоб прочитать названия микросхем.
11:46
А потом приготовь мултиметр. Надо будет побибикать некоторые контакты на плате.
ВЗ
11:46
Владислав Задорожкин
In reply to this message
Это я пока со старых нашел фоток
11:46
Сверху тогда тоже фоткал
11:47
Но не могу и фоток найти, хах
11:47
In reply to this message
Это можно
Y
11:51
YL3AKC
@Blue_Screen_0f_Death Когда начнем?
ВЗ
11:52
Владислав Задорожкин
К обедне, думаю, часиков через пару
11:52
Надо точнл вспомнмиьс где лежат
11:52
А то места тут много, искать надо
Y
11:55
YL3AKC
ОК. Попробуем.Мне сегодне примерно 4 часа есть.
11:56
А потом на работу. И продолжить вечером.
11:57
Free time start: 11:00 UTC
Free time end: 16:30 UTC

Free time start: 19:30 UTC
Free time end: 23:30 UTC
11:58
My local time: UTC+2
ВЗ
13:00
Владислав Задорожкин
Так, счас пойдут фото платы
GRiD Compass started voice chat
Y
13:04
YL3AKC
Фотки кидай сюда.
ВЗ
13:04
Владислав Задорожкин
Y
13:05
YL3AKC
Запускай видео. Так будет быстрей задавать вопросы и ждать ответы чем писать в чат.
GRiD Compass started voice chat (1901 seconds)
Y
13:37
YL3AKC
@Blue_Screen_0f_Death Еще раз. Как называется принтер?
ВЗ
14:08
Владислав Задорожкин
Siemens-Nixdorf HighPrint 4905
14:16
Так, счас впринципе можно и побибикать
GRiD Compass started voice chat
Y
14:17
YL3AKC
@Blue_Screen_0f_Death Начали?
ВЗ
15:06
Владислав Задорожкин
25 December 2022
YL
06:03
Yuri S. Leskovec
In reply to this message
Лучше в праздники, неделя до нг напряженная
Y
12:47
YL3AKC
In reply to this message
У меня узе началось вчера. Эта неделя такая себе... Не надо рано (5:30) утром на работу. Надо только вечерами и то не каждый день.

Дай знать когда можем.
👍
YL
ВЗ
17:58
Владислав Задорожкин
Принтер я победил
Печатает
Правда, кажется, картридж с лентой уже приуныл по чернилам
Теперь надо разворачивать досбокс и из доса печатать с драйвером на Епсон
17:59
Попробую из менее подржавевших деталей собрать второй)
Y
20:01
YL3AKC
Значит пинаут подошел. Максимум 2 и 3 на принтере надо было местами поменять...
ВЗ
20:01
Владислав Задорожкин
Угу
20:01
Но я пока соеденил тупо рх, тх и землю, по минималке
20:02
И хэндшейк поставил программный
20:02
xON/xOFF который
20:03
Надо еще будет DTR/RTS и прочее забубенить
Y
20:03
YL3AKC
ну... как бы правильно. Есть, конечно, нюансы с пинаутом...
20:03
In reply to this message
Не надо! Если нет осциллоскопа. Пока пусть будет так, как тупо работает.
ВЗ
20:04
Владислав Задорожкин
In reply to this message
Почему
Y
20:04
YL3AKC
По тому что не будет понятно почему не работает. Там слишком много переменных.
20:06
Вот как будет правильно:
CTS/RTS
DTR/DSR
27 December 2022
Y
19:48
YL3AKC
@usernameak еще один файлик с константами клавиатуры.

Из закромов товарища tschak909
31 December 2022
YL
07:47
Yuri S. Leskovec
🔥
Y
Y
17:03
YL3AKC
Госпида!

Мини стримчик. Рисую схему IBM MDA адаптера. Можем даже поболтать.
GRiD Compass started voice chat (622813 seconds)
8 January 2023
Y
21:36
YL3AKC
Ну что-ж?
Почти всё парсится. Есть нюансы с FIXUPP и SEGDEF. Частично парсится. Ибо не понятны некоторые манипуляций.

https://github.com/JDat/GRiD_OMF_analiser
21:37
По ходу можно добавлять возможность вырезания данных и кода в отдельные файлы, которых потом можно самостоятельно склеить и исследовать.

Например, символы из кода, и содержание фонтов.
u
22:04
usernameak
In reply to this message
FIXUPP это релокации, крайне специфичная тема
22:04
эххх, как же просто с ними на ARM...
Y
22:04
YL3AKC
Надо-бы привлечь к уголовной ответственности работе по оцифровыванию фонтов из всех образов CCOS товарища @id050 ...

Вот только напишу утилиту которая конвертирует данные из фонтов в картинку.
22:05
In reply to this message
Мы не любим легких путей!
22:06
@usernameak смотрел мою поделку-анализатор? Помогает разобрать внутренности OMF файлов?
u
22:07
usernameak
In reply to this message
на x86, особенно 16-битном, это боль, да
Legoshi joined group by request
9 January 2023
Y
06:09
YL3AKC
06:09
06:09
06:09
06:10
Немного шрифтов вам в ленту!
06:11
Тоесь, сделал утилиту для конвертаций в .bmp
10 January 2023
Y
20:07
YL3AKC
Наверное исправил ошибки. Пора приступать в массовой конвертаций...
20:07
20:07
17 January 2023
Y
18:51
YL3AKC
После поправки некоторых багов, анализатор начал разбирать по кускам игру FlakAttak~Run~
18:52
Какое интересное совпадение:
Segment Definition Record
Frame number: 57340 0xDFFC

Frame number: 57324 0xDFEC

Frame number: 57316 0xDFE4
18:53
Какая интересная нумерация феймов...
18:54
Напоминает номера сегментов. Но не обычных сегментов, а сегментов где находится периферийное железо...
18:55
На 1101 компасе:
DFFC0 - DFFC2: Keyboard controller (1 address lines, 2 addresses)

DFEC0 - DFECF: Modem (approx values)

DFE40 - DFE5F: Not used
18:55
Надо разбиратся...
18:55
Или это просто...
18:55
"Да, совпадиение!" (С)
T
19:03
Timofej
In reply to this message
Что за фреймы?
Y
19:05
YL3AKC
In reply to this message
Так называется поле в записях, которые описывает сегменты.
19:07
Название перевел на русский как умел.
Y
19:37
YL3AKC
@id050 Вот фрагмент того что находится в "ексешнике" ГРиДа

Filename:  FlakAttak~Run


Offset: 0x00000
Type: 0x6E
Size: 37 0x25
Record description: R-module Header Record
Module name: FLAKMAIN
Module type: 03 Load-Time Locatable module. It can be loaded anywhere with perhaps some base fixups to be performed.
Segment record count: 15 0F
Group record count: 3 03
Overlay record count: 0 00
Overlay Offset: 0 0x0000
Static Size: 808988979 0x30383133
Maximums Static Size: 538976310 0x20202036
Dynamic Size: 538976288 0x20202020
Maximum dynamic Size: 1428168736 0x55202020
xSum: 0x76 (OK)


Offset: 0x00028
Type: 0x98
Size: 12 0x0C
Record description: Segment Definition Record
ACBP RAW: 0xC0
Aligment: 6
Type: SEGDEF describes a load-time locatable (LTL), paragraph aligned LSEG if not member of any group
Combination: 0
LTL Data (RAW): 0x80
Flag: GROUP. Segment is part of group and should be loaded as part of the group
Max Segment Length: 14019 0x36C3
Group offset: 0 0x0000
Segment Length: 14019 0x36C3
Segment Name Index: 2 0x0002
Group Name Index: 2 0x0002
Overlay Name Index: 1 0x0001
xSum: 0x25 (OK)
T
19:37
Timofej
In reply to this message
Ого
19:37
Это типа заголовок сегмента да
Y
19:38
YL3AKC
Можно и так говорить.

На самом деле весь файл состоит из разных записей.

Там и код, и данные итд.
T
19:39
Timofej
Люблю защищённый режим 🥰🥰🥰
Y
19:40
YL3AKC
В любой ОСьке есть так называемой загрузчик . Читает екзешник и и него бытаскивает код в ОЗУ а птом запускает этот код.
T
19:40
Timofej
In reply to this message
Ну да
19:40
Запуск исполняемых файлов
Y
19:41
YL3AKC
In reply to this message
Рассого православный ГРиДовщик: Что это такое? В компасах такого нет!
19:42
In reply to this message
ГРиД не исключение. Там тоже свой формат исполняемого файла.

Я (почти) написал анализатор такого формата.
19:43
В МС ДОСе тоже есть свой формат для .ЕХЕ
6 March 2023
Y
16:56
YL3AKC
К сложению...
Y
16:56
YL3AKC
Y
YL3AKC 06.03.2023 16:51:51
Я тут по немногу возвращаюсь в радиогубительство и ГРиД ушел на 2. или 3. на 5. план.
27 May 2023
Y
11:33
YL3AKC
P
Paw Noir C64 devlog 27.05.2023 11:29:10
Примерно в 13:00 будет стрим. Будем ковырять грид

Щас только видеозахват воткну вместо видюхи... Потому что конечно же я так и не купил новый системник

twitch.tv/bootak
Y
12:34
YL3AKC
P
Paw Noir C64 devlog 27.05.2023 12:34:13
Вроде всё готово, через 10 минут начинаем!
Y
14:18
YL3AKC
@Megabozyakorovka кидай дамп, буду смотреть!
KL
14:23
Kirill Leyfer
Y
14:23
YL3AKC
Луче оба! Тоесть тот из твоего софта
14:23
ОК
KL
14:36
Kirill Leyfer
14:42
страница 78.
14:42
там про АТН
KL
15:07
Kirill Leyfer
Y
15:19
YL3AKC
И ссылку на диаграмму из зайта 9845
KL
15:20
Kirill Leyfer
Y
15:37
YL3AKC
Попробую проанализировать с помощью PulseView.
KL
15:38
Kirill Leyfer
Y
15:39
YL3AKC
5. сесия - это от реального флопка?
KL
15:42
Kirill Leyfer
In reply to this message
нет, ща от реального кину
u
15:42
usernameak
СЛУШАЙ кирилл
KL
15:42
Kirill Leyfer
u
15:42
usernameak
а не пробовал сделать общую землю между малиной и гридом?
KL
15:42
Kirill Leyfer
In reply to this message
чёчёчёчёчёч
15:42
In reply to this message
так я так и сделал
u
15:42
usernameak
In reply to this message
а)
15:42
знаешь, можно ещё анализатором реально подрубиться к выходным портам контроллера
KL
15:42
Kirill Leyfer
без этого там вообще трындец творился
u
15:43
usernameak
но для этого пришлось бы как-то грузить грид в разобранном состоянии
Y
15:43
YL3AKC
In reply to this message
Зачем?
u
15:43
usernameak
In reply to this message
чтобы видеть что там происходит)
Y
15:43
YL3AKC
In reply to this message
Думаешь где-то нет контакта в проводах?
15:44
Или... Ты хочешь подрубится к внутерннеи шине данных?
u
15:44
usernameak
In reply to this message
я скорее про то, чтобы видеть что происходит за контроллером
15:44
да)
Y
15:44
YL3AKC
Тогда надо анализатор по круче.
u
15:44
usernameak
хотя да
15:44
там 40 бит
Y
15:44
YL3AKC
HP как у CuriousMarc
15:45
неа, 40 не надо, но примерно 20 надо
u
15:45
usernameak
In reply to this message
адрес+данные это 40 бит
15:45
это 8086, не 8088
Y
15:45
YL3AKC
зачем весь адрес? там только 3 или 4 адресных пина
u
15:45
usernameak
In reply to this message
а, ну да
15:45
и chip select :)
15:46
In reply to this message
Но контроллер ГПИБ 8 битный
u
15:46
usernameak
мне интересно что там на PAL'ках сделано
15:46
адресная логика?
Y
15:46
YL3AKC
In reply to this message
Нет
u
15:47
usernameak
у 113x уже был однокристальный чипсет, кстати, на одном большом чипе
Y
15:47
YL3AKC
In reply to this message
ДМА, Видюха, что-то для послед порта и всё
u
15:47
usernameak
In reply to this message
интересно, они так пытались удешевить производство?
Y
15:47
YL3AKC
In reply to this message
Технологий поменялись. Можно было позволить асики заказывать.
15:48
А на 1101 только маски для ПАЛов заказывать.
15:49
ПАЛ с маской на заводе и есть то, что в 1101 запаяно.
u
15:49
usernameak
In reply to this message
сегодняшний стрим почти подтвердил, что никакого DMA там нет
Y
15:49
YL3AKC
но реверсить ПАЛы словно по тому что там внутри триггеры.
u
15:49
usernameak
In reply to this message
причём чипсет там был размером со средний современный проц)
Y
15:49
YL3AKC
интересно сравнить материнки 1100 и 1101
u
15:50
usernameak
In reply to this message
1100 отличается только отсутствием модема
15:50
а он отдельная плата
Y
15:50
YL3AKC
и некоторые сектеры ПАЛов раскроется
u
15:50
usernameak
In reply to this message
точнее бутерброд из плат
Y
15:51
YL3AKC
фотка от платы 1101 у тебя есть!
u
15:51
usernameak
интересно кстати, зачем на 112x ром и бабблы вынесли на отдельную дочернюю плату
Y
15:52
YL3AKC
In reply to this message
Конструктивно так получилось...
u
15:53
usernameak
In reply to this message
у 1101 они были прямо на материнке
Y
15:53
YL3AKC
Но в 112х проблема с гребенками. пропадает контакт, и в результате комп не грузится
15:53
у кирилла как-раз та-же проблема.
u
15:53
usernameak
In reply to this message
хотели добавить физического пространства на матери для дополнительной оперативки?
Y
15:54
YL3AKC
Сравни название ПАЛов на платах...
15:55
In reply to this message
Может планировали чтоб можно было апгрейдить комп.

Поменял плату на прошивку по моложе и с 4 МБит пузырями... Теоретически.
u
15:56
usernameak
In reply to this message
пузыри там были как раз таки захардкожены в прошивке
15:56
хм, это makes sense тогда...
Y
15:57
YL3AKC
In reply to this message
Если менять пузыри, то и прошивку поменять за одно. Но, наверное, не успели запустить в производство.
15:57
Ладно. Надо ковырять логи.
15:58
Я попробую с Sigrok PulseView. Там есть декодер IEEE-488
u
15:59
usernameak
меня до сих пор удивляет, как они сделали микроядерную и многозадачную операционную систему в начале 80-ых
Y
15:59
YL3AKC
@usernameak сравнил ПАЛ микрухи на платах?
16:00
In reply to this message
А что там такого? Был опыт.
u
16:00
usernameak
In reply to this message
просто они почти что первопроходцы выходит)
u
16:01
usernameak
In reply to this message
чип на углу отличается
Y
16:02
YL3AKC
In reply to this message
У 1100 гридовские коды у некоторых микрух. У 1101 некоторые уже со стандартными названиями.
16:02
У меня есть каталог по этим ПАЛам.
u
16:03
usernameak
In reply to this message
догадываюсь, что прикинули и решили что дешевле зашить, чем юзать маску?
Y
16:03
YL3AKC
Если нарисовать схему платы, то можно и понять что делает ПАЛ. И какая у него начинка.
16:04
In reply to this message
Возможно.
u
16:04
usernameak
In reply to this message
правда они один хрен перешли на однокристалльный чипсет потом
Y
16:05
YL3AKC
In reply to this message
И откинули 80130 микруху. Поставили 53 и 59 класику
u
16:05
usernameak
In reply to this message
80130 они по сути наполовину не юзали)
16:05
80130 это был вообще чип для эмбеддед систем
16:06
где была ромка с интеловской RTOS (которую грид не юзал), таймер и контроллер прерываний
Y
16:06
YL3AKC
In reply to this message
Интел помогал с микрухами и консультациями. Вот и впихнул ту хрень.
16:07
ГРиД Компас 1107 материнка...
16:07
u
16:07
usernameak
1107 это вроде военная версия?
16:07
In reply to this message
прям хочется распаять)))))
Y
16:07
YL3AKC
Вот так вот! Там уже по новее ОЗУ микрухи и всё на одном кристале.
u
16:08
usernameak
In reply to this message
где ты это фото взял
Y
16:09
YL3AKC
In reply to this message
"Там! Потом покажу!" 😁
16:09
На ебее продовался в ноябре. от туда и фотки.
u
16:09
usernameak
In reply to this message
кстати заметь что чипов рамы в 2 раза меньше
16:09
хотя это тоже 256к версия
Y
16:10
YL3AKC
как видешь, видюху и ДМА запихнули в один кристалл. А ПАЛ для модема/послед. порта остался.
u
16:10
usernameak
модемом же рулит интеловский чип параллельного порта
Y
16:11
YL3AKC
In reply to this message
Да, так и есть. Только чипы по круче. Больше обёмэ.
u
16:11
usernameak
In reply to this message
этот большой кристалл прямо напрашивается быть видюхой
Y
16:11
YL3AKC
In reply to this message
Он на прямую к шине данных прикручен.
u
16:11
usernameak
потому что он рядом с первыми банками оперативки
ВЗ
16:11
Владислав Задорожкин
Кстати, Янис, давно синхрил архив?
u
16:11
usernameak
а в них лежит фреймбуффер
Y
16:12
YL3AKC
Помнишь мистику в диасме БИОСа? У тебя там было написано: "Modem relatet shit". В тот момент вроде в ПАЛ пишется данные а не в модем. В ту ПАЛ, которая рядом с послед портом/ГПИБ. Ну.. Понял которая.
16:13
In reply to this message
Да, давно, но пока нет не чего нового, кроме сегодняшних логов от Кирилла во время стрима.
16:14
In reply to this message
Видюха, ДМА, регенерация памяти. Всё в одном.
u
16:14
usernameak
In reply to this message
ну и как бы логично что связанные чипы обычно рядом ставят на мамке :)
Y
16:21
YL3AKC
Экспортирую .SAL на .CSV
16:25
Рекомендую https://sigrok.org/wiki/PulseView
16:30
Yuri S. Закончим с этим. Сделаем чтоб с помощью малинки можно было скопировать содержание твоего интересного жесткого диска.
👍
YL
ВЗ
16:30
Владислав Задорожкин
А че у него там?
Y
16:30
YL3AKC
In reply to this message
Много интересного, которого нет в интернетах. Демки разные.
ВЗ
16:31
Владислав Задорожкин
И вроде бы с дисков дампы люди уже как-то снимали чем-то
Y
16:31
YL3AKC
In reply to this message
Да, но...

Посмотри на сервере. Там есть фотки от Юры с демками.
Y
16:59
YL3AKC
В Session 5 пины дергается немного быстрей чем в реальном флопике, но вроде ОК.
17:02
По ходу эмулятор делает то же самое что и реальный флопик, но есть нечто что не работает как надо. Придется на много внимательней приглядываться....
Y
17:28
YL3AKC
@usernameak Возможно надо выкинуть
uint8_t mode; // not used in this case


Из структуры

struct floppy2_desc_t {
uint8_t command; // command number (see below)
uint16_t connection; // unused in this protocol
uint32_t sectorNumber; // sector number!
uint16_t blockSize; // data size
uint8_t mode; // not used in this case
} __attribute__((packed));
17:28
Ибо я вижу что на шине ГПИБ передется 9 байт
17:28
размер стуктуры 10 байт...
u
17:29
usernameak
In reply to this message
хммм
17:29
возможно
Y
17:32
YL3AKC
Запрос на идентификацию устроиства. Команда 1 от ГРиДа на флопик. Флопик ответит 0х34 (52) байтами.
17:32
Возможно в команде 1 сказано как много байт флопику надо ответить...
u
17:33
usernameak
по факту это вариация структуры, которой драйвера общаются с ядром
17:33
с вырезанной частью полей
Y
17:35
YL3AKC
Хмм, или... Мой декодер не понимает 10 байт структуры. Надо разбиратся.
17:35
Но с начало, на работу!
u
17:35
usernameak
In reply to this message
(ну вроде очевидного в виде указателя на буфер, который за пределами самого грида смысла не имеет)
Y
17:39
YL3AKC
Как то странно проходит АТН. Надо наизусть запомнить ДАЦ,НРФД и НДАЦ сигналы. А то мозг ломается пока не привик.
Y
20:25
YL3AKC
2. сесия глюкнула по причине того что флопик не ответил во время. А остальное пошло по цепочке. Флопик ответил слишком поздно. БИОС ГРиДа захотел говорить с 6. устройством (винчестер?).
KL
20:27
Kirill Leyfer
In reply to this message
Интересно, почему он мог ответить позже...
20:27
Это после какой команды?
Y
20:27
YL3AKC
@Megabozyakorovka Кинь образ той дискеты, которую использовал в тестах эмуля. Хочу сравнить нет ли битых данных во время пересылки секторов через ГПИБ.
20:28
In reply to this message
Не знаю, надо пересмотреть стрим.
20:28
И да, если есть еще любительи грида, то мовно инвайтить сюда.
20:29
А так же, надо чтоб кто,то поковтрялся с питоном и написал ковертер из CSV в JSON. Ибо есть проект, который умеер нарисовать нужные диаграммы в веб страничке.
20:31
6. сессия что-то совсем не то. Получился CSV файл на 2.7 Гигабайта. Даже не хочу открывать и смотреть что там поизошло.
20:32
Пока 5. сессия самое интересное.
KL
20:57
Kirill Leyfer
In reply to this message
Да, в 6 сессии ей снесло башню
Y
20:58
YL3AKC
Если бы взять все дампы и прикрутить ка этому...

https://github.com/wavedrom/wavedrom
20:59
Интересно, кто может накидать по быстрому...
20:59
Можно было-бы синхронизировать все сесси, реальный флопик и логи из софта.
Y
21:23
YL3AKC
Что-то не то в командой 1 - инициализация диска. Отличается ответ флопика и эмулятора.
21:25
Эмулятор как то не так отвечает данными из 52 байтов, которые в массиве зашиты.
Y
22:17
YL3AKC
И так, первычные доводы:
Что то ломается в state machine.

Надо рефакторить код:

* Оделить управлние GPIO пинами на малинке.
* Добавить CallBack При изменений уровнеы на пинах.
* Правилно контолировать логические уровни и направление на пинах

* Оделить логику управления и передачи данных в GPiB State machine

* Одельно написать передачу комманд фолопика
* Одельно написать передачу данных из образа дискеты.
22:17
Таким образом можно будет отладить кадвый уровень абстракций отдельно.
22:20
по сути 4 уровня абстракций:
1 - физический. Дергивание пинами
2 - уровень линка. GPiB арбитраж
3 - репрезентативный - управление и инициализация флопика
4 - прикладной - передача данных из образа дискеты
Y
22:56
YL3AKC
@Megabozyakorovka @usernameak CCOS3.1.5 запустится на Compass 1101?
u
22:57
usernameak
In reply to this message
неа
22:57
3.1.0 запустится
Y
22:59
YL3AKC
@Megabozyakorovka Какой образ флопика запускаешь на эмуляторе?
23:01
Интересно то что в 5. сесси БИОС в конце лога вдруг захотел поговрить с устройстом номер 6. (винчестер?)
KL
23:02
Kirill Leyfer
In reply to this message
Так, пардон, обещал же скинуть

Секундочку
23:02
вот этот
u
23:03
usernameak
In reply to this message
не, 6 это второй флоппик
Y
23:03
YL3AKC
Тут не плохо объясняет логику передачу байта по шине

https://www.electronics-notes.com/articles/test-methods/gpib-ieee-488-bus/protocol-commands-how-does-gpib-work-operation.php
23:04
In reply to this message
Но почему вдруг переходит на 6. устройство? Вроде все сектора считал. БИОС наверное обранучил что загружчик битый. Почему битый? Либо эмуль подвел либо не тот образ дискеты.
23:08
Хмм... Пока выглядит что образ дискеты правильный... Вроде версия 3.1.0
23:14
Хмм... в 5. сесси
БИОС: Читаем из первого (адрес 5) флопика 0. сектор
Эмуль: На тебе сектор
БИОС: Читаем из второго (адрес 6) флопика 0. сектор
*Тишина*
БИОС: Всо херня! давай по новой
БИОС: Читаем из первого (адрес 5) флопика 0. сектор
Эмуль: На тебе сектор
БИОС: Читаем из первого (адрес 5) флопика 1. сектор
Эмуль: На тебе сектор
Итд 5 секторов

И вдруг:
БИОС: Читаем из второго (адрес 6) флопика 0. сектор

---
Конец дампа.
KL
23:22
Kirill Leyfer
In reply to this message
Посмотри, там, кажется, был очень длинный тайм-аут между чтением 6 и 0 секторов

Возможно, в это время он ругнулся на контрольную сумму
23:22
Хотя нет, тогда бы перечитал из того же устройсива, в 6 не полез бы
Y
23:22
YL3AKC
Мне не нравится как выглядит сравнение реального флопика и эмуля
23:23
что-то не то в ответочках
KL
23:23
Kirill Leyfer
In reply to this message
Так, ща посмотрим что можно сделать
Y
23:23
YL3AKC
один раз реалный флопик выдает 52 баыта, другой раз 56 байт
23:24
после загрузчика ещо какой-то станный пакети на чине летит. вроде 6 байт.
23:24
In reply to this message
А спать не надо?
23:24
In reply to this message
На сервере залил все дампы
KL
23:25
Kirill Leyfer
In reply to this message
о, интересно
23:26
In reply to this message
да, пора, думал мб сходу смогу въехать - не смог)
Y
23:26
YL3AKC
In reply to this message
Это на глаз. Может я что-то перепутал.
23:34
Хмм. На реальном флопике ГРиД что-то записывает (команда 5). потом посылает туда примерно тот же массив что обычно читает из флопика при инициализаций.
23:34
Где-то там зарыва собака. Тесть где-то по другому логика работает.
23:36
На что флопик радосно отвечает 7 байтами
u
23:40
usernameak
In reply to this message
биос если не смог загрузиться с одного устройства
23:40
он идёт любезно к следующему
Y
23:41
YL3AKC
А что там по записи в флопик и 0xFFFF FFFF ?
23:41
По ходу эмуль не так реагирует как флопик.
23:51
с флопиком, БИОС с начало спрашивает в команде 1, 54 байта

Потом (наверное загрушчик) спрашивает в команд 1 уже 56 байт...
u
23:51
usernameak
это ожидаемое поведение
23:52
которое эмулятор обрабатывает
Y
23:52
YL3AKC
надо проанализировать содержание ответа...
28 May 2023
ВЗ
00:03
Владислав Задорожкин
In reply to this message
Надо было предупредить
А то синк мне свежие версии PHP скриптов перетер на прошлогодние походу еще
Восстанавливал у себя с бекапа
Y
00:04
YL3AKC
In reply to this message
Ну во! От куда мне знать такое...
ВЗ
00:05
Владислав Задорожкин
Обычно ты предупреждал
00:05
Ладно, счас подготовлю архив в ЛС, у себя закинешь
Y
00:06
YL3AKC
In reply to this message
Когда заработало, тогда уже не предупреждал.
00:07
А нельзя как то сделать чтоб мне не надо было хранить конфиги и веб страницу у себя?
u
00:10
usernameak
In reply to this message
в исходниках команда 1 вообще называется ddGetStatus, кстати
00:12
я кстати в исходниках нашёл почему 0xFFFFFFFF вообще используется
00:12
короче, это команда для конфигурации контроллера привода
Y
00:13
YL3AKC
Значит придется пересматривать каждый байт в ответочке на эту команду
u
00:13
usernameak
In reply to this message
геометрия и прочая поебень
00:13
ну ты понимаешь как работали в то время диски
Y
00:13
YL3AKC
In reply to this message
И понять что он меняет в конфиге.
00:13
Ладно надо скушать 🍩
ВЗ
00:14
Владислав Задорожкин
In reply to this message
ну это тобой сконфигурированная программа затирает абсолюто все, что было в папке и записывает свежие данные
u
00:14
usernameak
Next2:
;
; Write
;

CMP AX,ddWrite
JNZ next3
LES DI,pPList
MOV CL,BYTE PTR ES:[DI].mode
CMP CL,ddSetStatus
JNE Next3
JMP SetStatus ; setStatus = ddWrite, mode 1

........


;
;
;
; Set Status
;
;
;

SetStatus:
PUSH DS
LES BX,pPList
LDS SI,ES:[BX].pBuffer ; buffer for setstatus data

MOV DI,OFFSET FStatus
MOV AX,SEG FStatus
MOV ES,AX
CLD ; direction flag
MOV CX,SetStatusLength

REP MOVSB
POP DS

MOV AX,FStatus.NumPages
SUB DX,DX
DIV FStatus.SectorsPerTrack
SUB DX,DX
DIV FStatus.TracksPerCylinder
MOV FStatus.NumCylinders,AX

MOV AX, eOk
JMP DONE
Y
00:14
YL3AKC
ВЗ
00:14
Владислав Задорожкин
тогда оно целиком мне затрет WEB часть
00:14
хотя
u
00:14
usernameak
In reply to this message
это исходники драйвера для IBM PC'шных приводов, но смысл думаю понятно
ВЗ
00:14
Владислав Задорожкин
можно кое-что придумать
00:14
но это немного времени займет
u
00:14
usernameak
правда там проверка на mode, а не на сектор
ВЗ
00:15
Владислав Задорожкин
завтра репу почешу
Y
00:19
YL3AKC
In reply to this message
Уже моЦк не работает... Надо спать!
00:24
In reply to this message
Интересно что установка статуса около или даже длиннее 512 байт.
00:25
Похоже на фигню. Данные повторяется. Может баг в БИОСе?
Y
12:31
YL3AKC
Судя по странной команде записи в флопик (Command 5, sectror 0xFFFFFFFF), максимальная длинна переиздаваемой "пачки" данных 512 байт.
29 May 2023
Y
05:23
YL3AKC
In reply to this message
Может быть и не надо смотреть. PulseView что-то сам умеет...

Надо только протестить, но я не силен в джаваскриптак и веб технологиях.
05:24
И, да, сожетую открить дампы логического анализатора в PulseView. У него более толковый декодер ГПИБ.
05:26
В Saleae делаем экспорт на .CSV
В PulseView импортируем .CSV и добавляем декодер.

Вот .CSV файл для PulseView с небольшими правками названий дата пинов для удобство.

Если не разберётесь как настроит, спрашиваете.
05:28
А так-же и экспорт в wavedrom (JSON) для https://github.com/wavedrom/wavedrom
30 May 2023
Y
15:02
YL3AKC
15:02
@Megabozyakorovka @usernameak Логично?
u
15:03
usernameak
In reply to this message
хм)
15:03
In reply to this message
на самом деле команд больше чем только 1,4,5
15:03
просто остальные мы не реализовывали
15:03
есть например ещё 17 (лоу-левел формат)
Y
15:04
YL3AKC
In reply to this message
Да, но... Это как пример рефакторинга.

Потом будет легче кадую и них реализовать.
15:04
Главное отвязать железозависимое от остального кода.
15:05
И отвязать ГПиБ логику от остального кода.
15:06
Но, по сути, весь код эмуля надо писать с нуля.
u
15:06
usernameak
In reply to this message
а ещё команда 40, verify media
15:06
у меня даже где-то была тулза проверки диска её юзающая
15:07
сама голая GRiD-OS её никогда не вызывает
Y
15:08
YL3AKC
Если всё получится как задумано, то есть хорошие шансы что это можно будет портить на какую нибудь ардуинку или подобное устройство на микроконтроллерах.
15:09
In reply to this message
И это добавим. Но потом. С начало хотелось бы сделать модулярный и читаемый скелет кода эмуля.
u
15:10
usernameak
In reply to this message
причём если она не поддерживается, то при попытке отформатировать диск получается забавная ситуация
15:10
когда оно несколько минут ждёт ответа на эту команду
15:10
а потом таймаутится и продолжает форматировать
Y
15:10
YL3AKC
минут?
u
15:10
usernameak
да
Y
15:11
YL3AKC
за это время можно успеть сделать обед.
u
15:11
usernameak
ну типа оно ждёт пока оно пройдёт
15:11
а оно не проходит несколько минут и GRiDManager думает такой "а хрен с ним" и форматирует дальше
Y
15:11
YL3AKC
А где список комманд флопика/харда итд?
15:12
Какой файл в исходниках?
u
15:12
usernameak
In reply to this message
прикол в том что это по факту не совсем команды флопика/харда
15:12
это номера вызовов драйвера)
15:12
они как есть передаются диску
15:13
но железный диск поддерживает ясное дело гораздо меньше вызовов, чем есть в ОС
Y
15:13
YL3AKC
диску? значит контроллер (8051 с гпиб) диска умеет в это...
15:14
То, что ОСь передает драйверу 17, 40 итд команды - це фингя. Вопрос что драйвер передаст накопителю по ГПиБ.
15:15
Рас уж драивер передает всё как есть, то 8051 должен это понять.
u
15:16
usernameak
In reply to this message
17 я точно видел в эмуляторе)
Y
15:16
YL3AKC
Ну или даже сам контроллер накопителя. У флопика это wd2729 микруха
u
15:16
usernameak
In reply to this message
(высокоуровневые функции вроде работы с фс ясное дело драйвер сам обрабатывает)
Y
15:17
YL3AKC
Ладно! попробую что-то нашаманить в GPIO pin layer модуле. Может @Megabozyakorovka понравится и пригодится.
15:19
@Megabozyakorovka И да, пока идет скучная набрасывание скелета, может нет смысла делать стрим на эту тему.

Я за кадром попробую сделать максимально много. Кирилл за кадром поймет что да как И в стриме протестит и подправит.
15:20
Ну а я и @usernameak Попробуем в коллабе за кадром скелет нашаманить.

Если еще есть желающие, то добавляйте в группу
Y
18:01
YL3AKC
И так! Вырисовывается первые баги в коде.

Не правильно пользуется управление пинами в файле g210x.cpp
Не всегда включается правильное состояние пинов. Функций, которые задеиствованы в процессе:
GPIO_IF_SetMode()
GPIO_IF_SetPinState()

На логическом анализаторе может всё ОК, но луче перестраховаться.

Скоро поясню нюансы.
KL
18:37
Kirill Leyfer
In reply to this message
О! Да, было бы интересно узнать

потому что в логическом анализаторе в отличие от реального флопика иногда бывают какие-то левые сверх короткие импульсы

Я буду дома и попробую найти такие примеры
Y
18:50
YL3AKC
Если игнорировать то что малинка работает с 3.3 Вольта, а ГПиБ с 5 Вольтами, то...
18:53
По сути на линий ГПиБ 2 состояния:
Либо пин подтянут на земплю (активное состояние, логическое 1 по ГПиБ терминологий), либо пин подтянут на плюс через подтюгивающий резистор (пуллуп), тоесть пассивны, логическое 0 по ГПиБ терминологи. других состояний нет.
KL
18:53
Kirill Leyfer
In reply to this message
или наоборот?
Y
18:54
YL3AKC
5 волть это логическое 0 по ГПиБ стандарту. Тоесть линия в "раслабленном" состояний.
18:56
Значит. Нам на малине надо пин поставит в одно из 2 состоюний:
Для пассива:
Pin mode = input
pin pullup
Для актива:
pin mode=output
pin state = LOW
18:56
Это когда мы управляем линий на ГПиБ
18:57
А если мы только читаем линию но не хочем управлять, то её надо перевести в пассивное состояние на всякий случай, если линия была активна. И прочитать состояние линий.
18:58
Предлагаю такой кусок кода для управления пинами:
bool GPIO_passive(uint8_t pin) {
gpioSetMode(pin, PI_INPUT);
gpioSetPullUpDown(pin, PI_PUD_UP);
return (bool)gpioRead(pin);
}

void GPIO_active(uint8_t pin) {
gpioSetMode(pin, PI_OUTPUT);
gpioWrite(pin, state);
}
18:58
В данный момент работаю над кодом.
19:01
GPIO_passive() не только выставлюет пассивное состояние, но еще и возращает состояние лини за одно.

При чтений линии можно вызивать функцию GPIO_passive()

Ну и при установки лини в логический ноль по терминологи ГПиБ. При этом мовем игнорировать то, что возращает функция GPIO_passive()
19:01
Примерно так.
19:03
Не забываем что нам нельзя оставлять пин в состоюний выход и подать туда логическое 1. Ибо ГРиД может дернуть ту же линию в ноль и пин на малинке может сгореть (обычно не сгорает).
19:04
Примерно так в двух словак, когда лень много писать.
KL
19:17
Kirill Leyfer
In reply to this message
Понял, спасибо! С терминологией active/passive жить как-то проще, потому что у меня всегда едет крыша из-за того, что логический ноль - это высокий уровень сигнала, а 1 - низкий
Y
19:22
YL3AKC
Пока можно просто доработать код в g210x.cpp и посмотреть что получится.
19:23
Если всё сразу заработает, то я в печали и потеряю мотивацию переписать эмуль флопика с нуля.
u
19:59
usernameak
In reply to this message
это GPIB
19:59
на GPIB ещё есть пассивное hi-Z состояние)
20:00
pullup на стороне грида точно тоже есть
20:01
In reply to this message
GPIB это 3v3 шина, разве нет?
Y
20:02
YL3AKC
In reply to this message
Нет! Это 5 вольт шина.

В те времена не кто не думал о 3 вольтовых микрухах.
20:04
А так должно выглядеть передача байта данных в шыну ГПиБ:

void GPIO_IF_writeDataByte(uint8_t data) {
for(uint8_t i = 0; i < 8; i++) {
bitRead(data,i) ? GPIO_IF_active() : GPIO__IF_passive();
}
}
20:05
По пожже кину на сервер Влада.
20:05
In reply to this message
Есть только 2 состояния:
Hi-Z
LOW
u
20:06
usernameak
In reply to this message
хм
Y
20:06
YL3AKC
In reply to this message
Судя по фоткам материнки и описаний ГПиБ стандарта, их там как раз таки и нет.
u
20:06
usernameak
я думал HIGH тоже есть
20:09
именно low-Z high
Y
20:09
YL3AKC
In reply to this message
Нет.

Логика в том что любой может дернуть линию в LOW.
А кому не надо пользоватся линий в тот момент, он и оставляет линию в Hi-Z.

У LOW приоритет отностельно Hi-Z.
А если один дернит в LOW, а другой в HIGH. То будет последстия:
Может зрватся вселенная.
Может получитсячерная дыра.
Будет короткое замыкание в результате которой может сгореть пин на микрухе или малинке.
20:10
По сути это работает так же как и выход с открытым коллектором.
Y
22:02
YL3AKC
Тут некоторый набросок того что я сделал.

https://bs0dd.zapto.org/grid/yl3akc_GPIB_experiments_emul/gpiopins.cpp
31 May 2023
Y
01:42
YL3AKC
Как то порылся в интернетах и нашел коннектор для ГРиДовского последовательного порта.

Хорошая новость: можно купить.
Плохая новость: цена 120-140 долларов за штуку.

Вердикт: но его нахер!
u
01:42
usernameak
In reply to this message
я видел дешевле
01:43
коннектор гуглится по 2DE19P
Y
01:43
YL3AKC
За 20 долларов можно было-бы купить. Одну штуку.
u
01:43
usernameak
In reply to this message
только это мама
я хз в гриде мама или папа
01:44
мне интересно почему их всё ещё выпускают
01:44
ГДЕ они используются
Y
01:45
YL3AKC
In reply to this message
Да, да, тот самой, но в mouser/digikey/farnell цена убивает.
u
01:45
usernameak
In reply to this message
причём судя по цене выпускают явно в штучных экземплярах
Y
01:46
YL3AKC
In reply to this message
Скорее всего в оборнке.
u
01:47
usernameak
In reply to this message
типа... более распространённые виды D-Sub'ов от того же вендора стоят в несколько раз дешевле
Y
01:50
YL3AKC
In reply to this message
Конкуренция...
01:51
В ebay за 40 долларов плюс доставка.
u
01:52
usernameak
In reply to this message
и это учитывая, что они выпускают варианты для промышленных применений)
Y
01:54
YL3AKC
По ходу надо будет такой шаманить с помощю ЧПУ / 3Д принтера...
u
01:54
usernameak
In reply to this message
чертежи в инете найти в принципе можно
Y
01:54
YL3AKC
И то надо найти правильные металические контакты.
u
01:55
usernameak
In reply to this message
ближайший по конструкции коннектор - VGA, но там чуть меньше пинов (хотя в остальном идентичен, зазоры те же и так далее)
Y
01:55
YL3AKC
Мовно было бы выкинуть коннектор и туда сапикнуть D15HD (VGA) но пинов немного маловато.
01:56
Хотя... Если только RS-232, то можно наколхозить с VGA.
u
01:56
usernameak
правда зачем сериал
01:56
если есть GPIB
Y
01:56
YL3AKC
Ну... Для мышки например. Или для модема.
u
01:57
usernameak
как извращённый вариант: драйвер эмуляции сериал порта через GPIB)
Y
01:57
YL3AKC
А то встроенный Racal-Vadik стандартен по 300бит/сек а на 1200 бит/сек уже не совместим со стандартными.
u
01:57
usernameak
GRiD-OS в отличие от того же доса имеет полноценный HAL :)
Y
01:58
YL3AKC
In reply to this message
Но не факт что такое прокатит с мышкой или модемом или принтером. Там надо дизассемблировать софт.
u
01:58
usernameak
In reply to this message
модемы и принтеры там поддерживались внешние
01:58
со своими дровами)
01:59
а вот мышка - единственная софтина умеющая в это - GRiDPaint
01:59
In reply to this message
пишутся дрова под эту ось несложно, самая большая боль это то, что в системе есть многопоточность и это надо учитывать)
Y
01:59
YL3AKC
Да но сумеет ли драйвер принтера работать с ГПиБ последователным портом? А вось драйвер напрямую обращается к UART микрухе?
u
02:00
usernameak
In reply to this message
там есть GPIB принтеры среди дров)
Y
02:00
YL3AKC
In reply to this message
Ну... Для таких будет эмуль написан. Прямо как для флопика.
u
02:00
usernameak
я как раз про то чтобы написать свой драйвер
там же система поддерживает загружаемые извне дрова)
02:01
кстати там старый дедовский механизм "всё есть файл")
Y
02:01
YL3AKC
In reply to this message
Емуль надо будет написать для специфичного жесктого диска с обемом 2 Гигабайта чтб мовно было с него пригрывать Bad Apple.
u
02:02
usernameak
In reply to this message
только вот там файловая система поддерживает максимум 32 метра
Y
02:02
YL3AKC
In reply to this message
Прямо как в Plan9 by Bell Labs
u
02:02
usernameak
сам интерфейс дисков-то умеет до 2 ТБ :)
Y
02:03
YL3AKC
In reply to this message
Спец драйвер напишем. Настроить DMA чтоб все байты пихал сразу в феймбуффер. И читать по секторам. А на уровень файловой системы положить большой толстый...
02:03
..болт.
u
02:04
usernameak
читать по секторам можно и без спец драйвера :)
Y
02:04
YL3AKC
In reply to this message
2 ТБ или 2 ГБ?
u
02:04
usernameak
In reply to this message
ТБ :)
02:04
32-битный адрес сектора
02:04
минус один сектор для служебной дичи
02:05
In reply to this message
просто открываешь диск как файл и вперёд :)
Y
02:05
YL3AKC
2^32 секторов. А размер сектора???
u
02:05
usernameak
In reply to this message
512 байт
02:05
это как раз 2 ТБ минус 512 байт
Y
02:05
YL3AKC
In reply to this message
Интересно можно другой размер?
u
02:05
usernameak
In reply to this message
да
02:06
на баббле 256 байт например :)
02:06
больше тоже можно
02:06
кстати так можно файловую систему выше 32 метров выжать
02:06
если подсунуть диск с нестандартным размером сектора
02:06
драйвер фс по очевидной причине умеет это обрабатывать
Y
02:07
YL3AKC
In reply to this message
Вот я дурак. Забыл что это 2^32 * 512 bytes. Тоесть 2^32/2 киллобайт а не байт.
u
02:08
usernameak
но файловая система там юзает 16-битные адреса
поэтому 32 метра максимум может (при 512-байтных секторах)
Y
02:08
YL3AKC
In reply to this message
А сколько больше? 9600 байт можно на сектор?
u
02:09
usernameak
In reply to this message
по идее пока не вылезаешь за uint16
Y
02:09
YL3AKC
In reply to this message
Да, это я помню по презентациям Кирилла.
u
02:09
usernameak
на баббле вообще прикол
02:09
там физические секторы 32 байта
02:09
логические 256
02:10
из-за чего образы баббла не подходят к флоппику :)
Y
02:10
YL3AKC
In reply to this message
Этим занемается драйвер баббла в биосе.
u
02:10
usernameak
In reply to this message
да.
02:10
вопрос почему не 512)
Y
02:11
YL3AKC
Сам висел кода отлаживал эмуляцию контроллера баббла.
u
02:11
usernameak
In reply to this message
(логические то есть)
02:11
а ещё там в биосе захардкожена вот эта инфа для баббла что внешние диски отдают на команду 1
Y
02:11
YL3AKC
In reply to this message
Наверное по той же причине что у ФАТ с большими кластерами. Не нужные потери.
u
02:12
usernameak
In reply to this message
ну да, всё-таки баббл был ужасно медленным носителем
Y
02:13
YL3AKC
In reply to this message
Да, наверное что-т такое я видел в дизассемблере БИОСа.
u
02:13
usernameak
In reply to this message
там ещё имя диска добитое пробелами есть
Y
02:14
YL3AKC
Надо бы себя приучить и перестать CCPROM называть BIOSom. BIOS - это так по IBMовски...
u
02:14
usernameak
In reply to this message
ну так-то да
02:14
оно всё же не биос
02:14
а ядро системы с базовыми драйверами и первичным бутлоадером)
Y
02:15
YL3AKC
In reply to this message
Да, да. Помню текстовые стринги в CCPROMе
02:16
In reply to this message
Оно больше чем базовая система ввода и вывода.
02:19
Мне нравится идея трансляций прерываний и логических на физически с помощю таблицы.
02:20
По ходу это сделано чтоб можно было провести дорожки на плате. Ибо трассировщик не знал какие пины прериваний подлкючит к микрухам.

А программсты эпоняли и сделали с таблицей трансляций.
02:21
Я так делаю на ардуинках.
02:21
Тако-же пример я сделал в моём проекте ГПиБ эмуляторе флопика.
02:23
Больше не надо будет использовать костыль под названием uint8_t remapGPIBPin(GPIB_Pin pin) в файле g210x.cpp
02:24
И пины на малинке не зашиты в основном файле а вывдены в модуль который отвечает за GPIO.
02:25
Но, до рабочего эмуля еще оооочень далеко.
02:27
Глянь на страницу 21. Пункт 2.4

https://bs0dd.zapto.org/grid/IC%20datasheets/TMS9914A_GPIB_Controller_Dec82.pdf
02:28
Там есть нюансы про Pull-up и push-pull.
02:29
Интерсно используется ли в GRiD режим High speed mode, и мжно ли там применять PinMode(Output) + setPin(pin, HIGH)
02:30
Это надо будет Кириллу исследовать с помощю осциллоскопа.
02:31
Если мы не найдем явные доказательста в коде CCPROM и дизассмбленных драйверах CCOSа.
ВЗ
02:34
Владислав Задорожкин
In reply to this message
Эх, все никак не долезут руки хороший домен сделать
а то ну что это за убожество в ссылках(
02:35
Третьеуровневый домен
Y
02:37
YL3AKC
In reply to this message
Да нормально! Не надо не чего по круче.
ВЗ
02:38
Владислав Задорожкин
In reply to this message
Да просто третьеуровнивики не солидные
02:38
В некоторых соц сетях на них еще ругань идет
02:39
Мол бесплатный хостин бла бла бла
Y
02:43
YL3AKC
Увеличение ЧСВ и не больше.
02:44
Не знаю ка для ноклы, но для ГРиДа 3. уровень самое то. Прямо ка в интернетах конца 90-тых.
02:44
Когда интернет был молодым.
ВЗ
02:49
Владислав Задорожкин
Тут еще один недостаток
02:49
Поисковики третьеуровневые страницы хуже индексируют
Y
02:51
YL3AKC
Интересно... Я мои файлы по ГРиДу уже заниндексированы?
02:52
Ты смотришь на логи сервера относительно индексаний?
ВЗ
03:16
Владислав Задорожкин
Не
03:16
Не смотрю
Y
03:54
YL3AKC
Ну... Пока через гугл архив не нашелся.
1 June 2023
Y
21:13
YL3AKC
@usernameak Когда флопик дергает линию прерывания (SRQ) на шине GPiB?
21:14
Моя теория: когда флопик считал сектор из дискеты и готов передать данные сектора компютеру.

Интересно как это реализовано в коде эмуля флопика?
u
22:06
usernameak
In reply to this message
скорее всего когда считал в свой внутренний буфер данные
22:06
у него есть немного оперативной памяти
Y
22:07
YL3AKC
In reply to this message
Ну... Тоесть готова передать считанный сектор компасу.
u
22:07
usernameak
In reply to this message
2 кб SRAM
22:07
и это не считая внутренней памяти 8051
22:07
In reply to this message
это ещё 128 байт
Y
22:08
YL3AKC
Я тут попытался перерендить данный для pulseview так, чтоб мовно было видеть задержки в более менее реальном времени. Да... На простой уходит ооочень много времени.
22:10
Но увидел суть SRQ сигнала и назначение Serial pool. Почему флопик возврачает именно 0x4F? Ответ в CCPROM коде, но пока я его не изучил.
u
22:11
usernameak
In reply to this message
особенность грида
22:11
у него по сути адрес 0x1F
Y
22:11
YL3AKC
К стати. Вчера разпечатал все 77 старин datasheea по микросхеме TMS9914A. Красивая стопка бумаг получилась.
u
22:11
usernameak
In reply to this message
несмотря на то, что по спеке он зарезервирован как своего рода нулевой адрес
22:13
In reply to this message
SRQ это по сути интеррапт на GPIB шине
а serial poll - способ определить КТО его сделал
22:13
In reply to this message
а, погоди
22:14
ты про ответ на полл?
Y
22:14
YL3AKC
In reply to this message
0x4F - это ответочка некого сосдояния флопика.

Интересно то, что по лохике ГПиБ 'то слово должно саписыватся в некий регистр контроллера ГПИБ. А если кто-то на шине спрашивает состяние, то контроллер отвечает даже не говоря центальному процессу что контроллеру некто на шине спрашивал.
u
22:14
usernameak
я точно помню что там было что-то другое
22:15
In reply to this message
я отвечаю 0x0F
22:15
насколько я помню, биос это принимает как success
Y
22:15
YL3AKC
u
22:15
usernameak
а, я вспомнил
22:15
короче
22:16
флаг 0x40 значит что это тот самый девайс
22:16
0xF это статус операции
Y
22:17
YL3AKC
Но на фотке временые интервала не соответствуе реальному таймингу. Там просто кадый семпл - это когда изменился уровень на любой линий.
22:17
In reply to this message
У тебя там нечто образуется с помощю логических операций.
22:18
Но на выхлопе то же самое что у реального флопика.
u
22:18
usernameak
да
22:18
там другие значения могут быть при ошибке
22:18
но я не разбирался в этой части
22:18
просто предполагаю, что ошибок не существует)
Y
22:19
YL3AKC
In reply to this message
В данный диаграмме меня смучает то что компас захватил шину ГПиБ на долгое время.
22:19
А вот содт от Салеае для анализа мне не понравился. Там почти не чего не понятно.
22:20
Pulseview глючит только на линию EOI, но это терпимо и не мешает понят что происходит на шине ГПиБ.
22:24
И есть подозрения что линий IFC и REN начале участвует в процессе инициализаций шины. Ибо на логическом анализаторе они в начале дергается.
22:25
Рекомендую @Megabozyakorovka всё-таки включить эти линий при записи дампа логическим анализатором.
u
22:25
usernameak
In reply to this message
в начале на линиях тупо шум
22:25
пока контроллер включается
Y
22:25
YL3AKC
In reply to this message
Может быть, но это не точно.
u
22:25
usernameak
биос вообще НИГДЕ не дёргает REN
22:26
IFC точно дёргается, да
22:26
да и тем более - он не должен создавать никаких проблем, т.к. эти линии может дёргать только хост и они не требуют никакого ответа
Y
22:26
YL3AKC
In reply to this message
Так или иначе, но луче их включить в анализаторе. Может мы что-то упускаем.
22:27
К стати они включены когда Кирилл делал дамп шины с реальным флопиком.
22:28
In reply to this message
IFC - это спброс шины ГПиБ. Всем устройствам в тот момент надо отпустить линию и переидти в исходное состояние.
u
22:29
usernameak
In reply to this message
так я её не держу)
22:29
а состояния никакого и нет-то
Y
22:29
YL3AKC
А потом вуставить NRFD и NDAC правильные состояние.
22:30
In reply to this message
Её не надо держать. Её надо мониторить.
22:36
Флопику разрешено дергать только линий EOI, SRQ и линий хендшейка в соответствий правил передачи или приему данных.
Y
23:25
YL3AKC
In reply to this message
А сбросить машины состояния в режим принятия данных из шины?
2 June 2023
Y
16:00
YL3AKC
@Megabozyakorovka Что там по стриму?

Завтра будет? Надеюсь что про комод а не ГРиД.
Y
18:34
YL3AKC
Стырил в интернетах. Может пригодится. Пока интересно только Приложение Б 94. (86.) страница Картинка Б.1
3 June 2023
KL
09:50
Kirill Leyfer
In reply to this message
Да, постримим немножко
09:54
In reply to this message
Тогда грид на след неделе?
Y
09:55
YL3AKC
In reply to this message
делай как хочешь.
09:56
я не уверен что по гриду можно что-то толковое сегодня сделать...
09:56
ну если только начать писать эмуль с нуля
Y
19:19
YL3AKC
Ухх-ты, ёмаё! Надо напрягаться. @Megabozyakorovka хочет продолжить с ГРиДом...

Попробую написать логику ГПиБ и прикрутить дамп реального флопика для верификаций эмуля. Короче, до фига дел.
5 June 2023
Y
14:57
YL3AKC
@Megabozyakorovka @usernameak пробовали открыть 5. сессию в помощю анализатора pulseview?

Что-то там многовато глюков. То на 1. команду выдал массив из 52 байт 2 раза, то глюки с EOI в конце передачи секторов...
14:58
То длина секторов странная...
15:03
Скорее всего бются данные во время передачи в ГРиД. А ГРиД (или загружчик с дискеты), естественно, после такого обижается.
KL
15:09
Kirill Leyfer
In reply to this message
привет, нет, спасибо за идею - попробую! Так, у меня ещё фикс не попробован про который ты говорил ранее. С отправкой байт
Y
15:13
YL3AKC
In reply to this message
Фикс управления пинами? Надо будет много править в g210x.cpp
KL
15:14
Kirill Leyfer
да, начать с управления пинами хотя бы
15:14
потому что я например не знал до этого как с ними правильно работать
Y
15:19
YL3AKC
Ну а я пытаюсь написать с нуля. Без использования uint32_t GPIO_IF_uSleep(uint32_t micros)

Но с state machines

Тоесть в main() вызываем gpib_loop() а он делает свои дела и возращает управление. И так безконечно.
15:19
И параллельно смотрю на дампы.
15:21
Местами хочется цитировать Кирилла:
"Чё это такое?
А это чё такое?
Ну зачем ты так...?"
u
15:21
usernameak
In reply to this message
так там большую часть писал я на коленке
Y
15:24
YL3AKC
In reply to this message
Я про дампы а не про код...

В коде всё запилено на IFах, трудно отследить все комбинаций состояний.
15:25
К стати, для свободной минутки...

https://www.youtube.com/watch?v=GWYhtksrmhE
Y
16:25
YL3AKC
А это уже можно сопоставить с boot_5.log
16:26
на шине данные не биты, но не факт что ГРиД всё правильно принял.
16:27
Размер секторов ОК. Размер комманд запросов ОК.
16:27
Один раз заглючил ответ на команду 1.
Y
17:00
YL3AKC
Но ГРиД как-то не адекватно себя ведет при посылке посленего байта команды.

Слишком быстро уберает EOI и DAV сигналы, не дожыдаясь NDAC ответа. И слишком быстро дергает линию ATN. Благо, такое не бёт остальные данные на шине.

Судя по логам логического анализатора.
u
17:01
usernameak
In reply to this message
возможно какая-то особенность поведения контроллера
Y
17:01
YL3AKC
или баг в драйвере
u
17:01
usernameak
EOI там включается через отдельный от данных регистр
Y
17:02
YL3AKC
глюк грида с флопом
17:02
глюк грида с эмулем
17:03
In reply to this message
да, знаем, но как он убирается? асинхронно или привязан к DAV?
17:05
На такое хамство ГРиДа, мой парсер офигевает и ругается на ошибку.
KL
17:13
Kirill Leyfer
In reply to this message
Да, eoi там странно себя ведёт
Y
17:15
YL3AKC
In reply to this message
И ATN тоже.
17:20
Вчера смотерл презентацию 33с3, где чувак взловам шифровку спутникового и кабельного телевидения Digichiper 2. Ну прямо как презентация Кирилла по ГРиД файловой системе. В конце был вопрос про стандарты, ну а чувак ответил:
"Мы Американцы, мы ложильи болт на стандарты".

Мораль историй: Американцы действительно ложильи болт на стандарты. Тесть, ГРиД тоже ложил болт на стандарт ГПиБ.

Вывод: с ГПиБ тоже надо мислить шире (шырше, ширее), так же как и с архитектурой ГРиДа, где вроде х86, но всё по другому.
17:24
Еще вывод: не смотря на рекомендаций NASA, надо всё таки писать на крестах, ибо так будет легче сделать комбинированный эмуль для флопа, харда, принтеров итд. Именно модуль GPiB надо переделывать в класс и подшаманить модуль GPIO
17:32
In reply to this message
Надо бы еще линий посмотреть в масштабе реального времени...

Ибо в данных скринах одно деление - это просто изменение любой линий на шине.
17:34
Интересно и то, что ГРиД, захватывает шину после отправки комманды 4. и ждет прерывания (SRQ), отпускает шину, опрашивает флопик, и только потом читает с флопика.
17:34
@Megabozyakorovka к стати, выздоравливай!
Y
17:52
YL3AKC
@usernameak "MAME HARDDISK DRIVE GRID2101" 😀
17:55
Yuri S. Напомни, пожалуйста, какие накопительи были выпущены для ГРиД Компаса?
Флопик? Хард? Комбо из флопика и харда? Каки там цифры в названиях?
ВЗ
17:59
Владислав Задорожкин
In reply to this message
Вроде фллппик, и флоппик+хард
17:59
Отдельно харда не было
Y
18:04
YL3AKC
Ясно, спасибо.
18:05
А есть фотки 10 кнопочной клавиатуры с цифрами и фотки мыши для ГРиДа?
YL
18:07
Yuri S. Leskovec
2101 флопик и хард и 2103 флопик
18:08
In reply to this message
Это для гридкейса делали
18:11
18:11
18:11
Y
18:13
YL3AKC
Судя по этому документу вроде были и для компаса. Мышка только для GRiDpaint... И вроде кабель на тот спальный 19 пиновый штепсель.
18:14
In reply to this message
А это похоже на штепсель PS/2
18:14
In reply to this message
2102 или 2103?
YL
18:15
Yuri S. Leskovec
In reply to this message
Скорее 5дин
Y
18:17
YL3AKC
In reply to this message
Эмм, да DIN5 штепсель с разпаикой/протоколом PS/2 или что там было у IBM XT с 84 клавишной клавиатурой до PS/2 серий.
YL
18:18
Yuri S. Leskovec
In reply to this message
2103 флопик
Y
18:19
YL3AKC
А что тогда 2102 ?
YL
18:20
Yuri S. Leskovec
Хз не встречал
Y
18:20
YL3AKC
Или там отдельные модели для 360кб и 720 кб?
18:21
У Кирилла вроде был 2102
YL
18:22
Yuri S. Leskovec
Оба флопики 2102 и 2103
18:22
In reply to this message
Скорее всего
Y
20:42
YL3AKC
@Megabozyakorovka @usernameak кинул последнюю версию своих идей на сервер. Можете глянуть концепцию.

https://bs0dd.zapto.org/grid/index.php?lang=eng&dir=yl3akc_GPIB_experiments_emul
ВЗ
22:13
Владислав Задорожкин
Там это, я доступ к архиву (на скачивание) по FTP публично открыл
Погоняйте, нормально ли работает, ничего лишнего не показывает каталогах (и главное, чтоб нельзя было CD-юкнуться куда не надо выше основной папки)
6 June 2023
Y
10:04
YL3AKC
Мммда...

Явно что-то сильно не так с пинами на малинке.
10:04
Надо разбиратся.
10:07
Между метками А и В линия должна быть освобождена (флопик отпускает все линий и оставляет пуллап), ибо в этот момент ГРиД пытается слушать данные от устройсто с адресом 6 (Это жесткий диск?).
u
10:08
usernameak
In reply to this message
6 это второй флоппик
Y
10:09
YL3AKC
In reply to this message
А у нас эмулится только первый (5. адрес) а линия зажата когда должна быть свободна.