PDA

Просмотр полной версии : NedoOS



Demige
03.03.2019, 20:17
А где собственно взять? На alonecoder.nedopc.com чет не вижу...

hippiman
03.03.2019, 21:09
Пока ни где. Она еще в разработке и не релижена.

Enigmatic
03.03.2019, 21:25
А где о ней можно почитать, поглядеть?

tiboh
04.03.2019, 08:01
А где о ней можно почитать, поглядеть?

http://speccy.info/NedoOS

zx_
04.03.2019, 08:17
гы, на 4 мегабайтах рам полуось работает

деятели осей полуосей и четверь осей

nihirash
04.03.2019, 09:08
Рекомендуется zxnetusb :D

А что из софта под нее есть?

Shiny
04.03.2019, 15:16
Ало некодер напишет

Demige
04.03.2019, 21:36
Рекомендуется zxnetusb :D

А что из софта под нее есть?


графический редактор Scratch, плейер player, текстовый редактор texted, компилятор NedoLang, ассемблер NedoAsm, бейсик NedoBasic, сетевые утилиты (браузер и др.).
Как минимум часть из этого опубликовано на http://alonecoder.nedopc.com/zx/index.html

Я так понимаю это логическое продолжение DNAOS?

hippiman
04.03.2019, 22:40
https://s8.hostingkartinok.com/uploads/images/2019/03/14b748f463b56e46ccef42588440c8c1.gif (https://hostingkartinok.com/show-image.php?id=14b748f463b56e46ccef42588440c8c1)

Demige
05.03.2019, 23:06
Поигрался я с DNAOS, что-то как-то очень на начальном уровне всё. В шеле так и понял как прокручивать список. Курсора нет. Один раз удалось установить систему на винт, из глюка даже запускалось, теперь не даёт установить, говорит ошибка загрузки DNA_OS.SYS. Это относится к 459n

--
Попробовал более старую версию 458w. Тут установка проходит успешно. Прокручивать список разобрался как - "1" и "2". Рамдиск вроде как работает. Есть возможность разворачивать TRD образ, а так же копировать дискету в TRD. Но создать при этом TRD нельзя, поэтому приходится копировать любой файл в соседний диск или каталог, переименовывать его в TRD и считывать в него дискету. При этом название файлов должно быть именно xxxxxxxx.TRD. если меньше 8 символов в имени, надо заполнить пробелами, иначе система не может опознать файл как образ диска.

hippiman
20.04.2019, 01:17
https://youtu.be/tswHUAC2oWI
Тут автор подробно рассказывает про свою ось.

http://alonecoder.nedopc.com/zx/_OS.zip
А вот тут её уже можно скачать и пощупать.

JV-Soft
20.04.2019, 01:32
Тут автор подробно рассказывает про свою ось.
Очень круто , начало так напомнило дух 90-х
Так хочется видеть спектрумистов без вотки...

Shiny
20.04.2019, 07:57
смесь бульдога с носорогом. Надеюсь, в оси нет ED.COM ? прокляну

Lethargeek
20.04.2019, 08:47
http://speccy.info/NedoOS

NedoOS - многозадачная операционная система для ZX Spectrum.

Системные требования
компьютер, совместимый с ATM Turbo 2 или с ATM3 (4МБ)
:v2_rolley

Demige
20.04.2019, 09:28
Для PC тоже все программы для 8086, но для запуска нужно не менее такого-то поколения процессора.

Shiny
20.04.2019, 09:47
Для PC тоже все программы для 8086, но для запуска нужно не менее такого-то поколения процессора.

все познается в сравнении. Например, есть Sinclair PC2000 с 8086. И есть CP/M86 без видео-режима. Запусти и взвоешь от древности xD

Demige
20.04.2019, 10:20
Вообще очень круто. Наконец-то спустя 30 лет появилось что-то с чем можно уже даже работать. Появятся средства разработки и народ потянется.

Lethargeek
20.04.2019, 10:37
Для PC тоже все программы для 8086, но для запуска нужно не менее такого-то поколения процессора.
для пц программы НЕ "для 8086", а для определённой оси (которая тоже НЕ "для 8086", а для x86 или x64 с минимальной периферией)

Demige
20.04.2019, 10:49
Вот видишь, ты сам всё понимаешь.

Shiny
20.04.2019, 11:06
Появятся средства разработки и народ потянется.
ага, к новой инкарнации BolgenOS ;) Какой фанат АТМ побежит покупать этот клон Спектрума?

Demige
20.04.2019, 11:32
А что в этом такого? У меня у самого пентева. Вроде ничего современнее на реальном железе больше не придумали. Не хочешь плис - покупаешь атм на рассыпухе.

Если тебе спек только демки запускать - тебе и пентагона хватит.
--

Что-то пока не понимаю как переключаться между задачами в nedoos. И выход по esc не работает, надо жать шифт+пробел. При запуске scl и trd всё просто виснет.

Shiny
20.04.2019, 11:42
бугога, вот это многозадачность)))) в эмуляторе Shift+Space - выход в оболочку и не более того. Это любой дурак сможет сделать.
или почитать описание?

Shiny
20.04.2019, 15:56
я про Фому а мне про Ерему:v2_dizzy_facepalm:

Lethargeek
20.04.2019, 16:49
Вот видишь, ты сам всё понимаешь.
не понимаю, как запустить на спектруме это чудо
или обеспечь, чтобы работало на спеке, пусть не на 100%
или не пиши туфту про "для спектрума"

Sayman
20.04.2019, 17:09
если честно, то мне не понятно для чего эта ось нужна. хоть для атм, хоть для 128го или хоть для какого Спектрума. зачем тут многозадачность? достаточно просто дос иметь которая будет "прозрачно" понимать всякие фаты и трд образы/диски. чтобы эти трд пускать прям с винта или сд карты. многозадачность не очень интересна.

Error404
20.04.2019, 17:31
смесь бульдога с носорогом. Надеюсь, в оси нет ED.COM ? прокляну

Что не так с ED.COM? :)

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

Если вот это вот


* программе пользователя доступна вся память #0100..#ffff


сделано с умом (а это зависит от того как занята область 0000...0100) а иначе получится еще одна ниочемная ОС типа СимбОС, то про вот это вот


графический редактор Scratch, плейер player, текстовый редактор texted, компилятор NedoLang, ассемблер NedoAsm, бейсик NedoBasic, сетевые утилиты (браузер и др.).

можно будет спокойно забыть и пользовать более нормальный софт от CP/M. Никого не хочу обидеть, но ИМХО никто лучше не сделает.

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



Если вот это вот


* программе пользователя доступна вся память #0100..#ffff

сделано с умом (а это зависит от того как занята область 0000...0100)
можно будет пользовать более нормальный софт от CP/M. Никого не хочу обидеть, но ИМХО никто лучше не сделает.

таки сделано с умом. Эмулятор CP/M напишется минут за 60 (можно взять готовый от UZIX (https://github.com/serge-404/U.Z.I.X./blob/master/emu.MAC) и чуть поправить). За что авторам рукопожимаю.

NEO SPECTRUMAN
20.04.2019, 18:22
если честно, то мне не понятно для чего эта ось нужна. хоть для атм, хоть для 128го или хоть для какого Спектрума. зачем тут многозадачность?
Ну алонию чесалось написать ОС
он ее написал
и взял и выложил (а не положил на полку\встол)


тебя же не заставляют покупать corei7 ставить туда вин 15 чтоб запустить новую версию какого нибудь *****го браузера (пушо в старой уже не работает ютуб...) или например тот же zxtune...
и при этом выпендриваясь про достигнутые свершения

а если не хотите
покупать corei7 ставить туда вин 15 чтоб запустить новую версию какого нибудь *****го браузера
значет мучайтесь в поисках последней совместимой версии
а наглавной странице я ие низачито не оставлю
да я такой


все just for fun

Shiny
20.04.2019, 18:27
Что не так с ED.COM?

Каюсь, не осилил в старое время (:

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


Эмулятор CP/M напишется минут за 60 (можно взять готовый от UZIX и чуть поправить). За что авторам рукопожимаю.

ой ли? прям сразу и взлетит? Cp/m хорош для использования, но для любой иксплуатации непригоден

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


Ну алонию чесалось написать ОС
он ее написал
и взял и выложил (а не положил на полку\встол)

просто мнение обсчественности заставило эту бету опубликовать.

играйте в недоТетрис, недопитон, акуна матата.

NEO SPECTRUMAN
20.04.2019, 18:32
Эмулятор CP/M напишется минут за 60 (можно взять готовый от UZIX и чуть поправить). За что авторам рукопожимаю.
долго уже выпрашиваю это

а зачем он нам нужен этот цпм?
что там такого полезного есть? (просто я ничего стоящего под оно не нашел (есть жменя дремучих компиляторов конечно а еще???))

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


эту бету опубликовать.
играйте в недоТетрис, недопитон
поэтому она и называятся недоОС :)

Shiny
20.04.2019, 18:36
а зачем он нам нужен этот цпм?

да ни к чему он ваааще, там нема 32бит :/

NEO SPECTRUMAN
20.04.2019, 18:44
да ни к чему он ваааще, там нема 32бит :/
зато там есть всем нам так нужный ms cobol...

спектрум же без него пропадет
бидабида

Sayman
20.04.2019, 19:07
Ну алонию чесалось написать ОС
он ее написал
и взял и выложил (а не положил на полку\встол)


тебя же не заставляют покупать corei7 ставить туда вин 15 чтоб запустить новую версию какого нибудь *****го браузера (пушо в старой уже не работает ютуб...) или например тот же zxtune...
и при этом выпендриваясь про достигнутые свершения
он продумывал её 10 лет, но в итоге не смог продумать систему драйверов. печально, но ос не умеет в прозрачный доступ к файловым системам. есть весьма жёсткая привязка разных фс к типам носителей. на это тонко намекает отсутствие в системе логических дисков с буквенным обозначением или попытка монтирования носителя к точкам аля линукс/юникс. на конкретные символы (цифры) повешены конкретные носители с конкретными фс. это напрягает. т.е. по какой-то причине драйвер фс знает на каком носителе должна быть эта фс, хотя знать не должна. в презентации он сам говорит, опять-таки, что даже плеер музыкальный будет тормозить. а вот в том же симбос с его гуями плеера не тормозят. хотя и разделяют те же прерывания. т.е. вопрос оптимизации остаётся открытым. с другой стороны плеер АУ это плохой пример. каждое обращение к дисковым устройствам будет затормаживать музыку или работу дискового устройства. а это снова приводит к вопросу о том - какая необходимость именно в многозадачной оси. доса хватило бы с лихвой.
ну и конечно, эмулятор цпм - зачем он на атм, если на атм есть и так цпм без эмуляторов?!

Error404
20.04.2019, 19:19
долго уже выпрашиваю это
а зачем он нам нужен этот цпм?
что там такого полезного есть? (просто я ничего стоящего под оно не нашел (есть жменя дремучих компиляторов конечно а еще???))


Ну я не знаю уже как это объяснять, это примерно как пацану что ест одни конфеты в ярких упаковках, трудно объяснить что для здоровья лучше лук кушать и чеснок. :)
Компиляторами я пользуюсь теми древними, т.к. разные недоАсм и недоС супротив аналогичных изделий Микрософта, Борланд или Hitech - что плотник супротив столяра (с). Или редактор я выбираю, не который редактирует "сколько в память влезло", а который правит столько сколько нужно. Ну и вот это вот всё. Это тупо чувство вкуса привитое как системщику четвертью века в консоли: беру одну прогу - поделка, другую - маешь вещь. Вкусовщина, конечно, так то большинству до сих пор что ОС что командер однофигственно: демки же запускаются одинаково.

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



ну и конечно, эмулятор цпм - зачем он на атм, если на атм есть и так цпм без эмуляторов?!

Например, для одновременного выполнения редактора, компилятора и консоли где результат запускается для проверки. Классическую CP/M для многозадачности допилить сложно, проще взять MP/M, но у неё маловат ТРА. Поэтому если в третьей многозадачной ОС можно запустить 3 эмуля CP/M и всё это в параллель проделать, то почему бы и нет? С другой стороны консоль у недоОС как а я понял только одна и запинена только на один процесс? Или нет? И что там с пайапами, они есть (если консоль одна, можно выкрутиться на пайпах если они есть)?

NEO SPECTRUMAN
20.04.2019, 19:29
Ну я не знаю уже как это объяснять, это примерно как пацану что ест одни конфеты в ярких упаковках, трудно объяснить что для здоровья лучше лук кушать и чеснок.
то есть кроме пачки компиляторов всех дремучих и вымерших еще в начале 80-х языков там ничего и нет?

Sayman
20.04.2019, 19:34
Например, для одновременного выполнения редактора, компилятора и консоли где результат запускается для проверки.
ну для меня цпм в любом виде сейчас костыль. не вижу никакого по для себя, чтобы пользоваться. даже м80 не использую и давно.

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

Error404
20.04.2019, 19:50
то есть кроме пачки компиляторов всех дремучих и вымерших еще в начале 80-х языков там ничего и нет?

А что там должно быть? Фолаут4?

Вы вон с коллегой постом ранее от отсутствия в CP/M 32-битности дошли до кодирования на коболе, а я третьего дня С от CP/M пользовал, где всё это есть причем лет более чем автору недоОС. Классика жанра - рассказы как невкустны апельсины тем, кто их ел, в отличие от. Опять же, я видимо не донес - каждому своё: кому-то плеер AY-шный скрип слушать, а кому-то нормальный компилятор нужен, а не новодельная поделка которая еще не известно как себя покажет. Я вот в плеерах не разбираюсь, так и не требую себе такой или другой, как и не несу сообществу охренительные мысли что все плееры кал. :)

NEO SPECTRUMAN
20.04.2019, 19:56
При этом имей ввиду - если косячнул где-то, то не имеет значения - недоОСь это или ещё что - керналь здохнет если запускаемый образец кривой. защиты памяти-то нет, да много чего нет для предотвращения таких ситуаций
если поселить куски ОСи в пзушке
то можно в таком случае ресетить ручками
а при запуске проверка на наличие адекватных данных в памяти
и пытаться востановить состояние других процесов
так же можно определить и какой именно процесс не дал передать обратно управление системе а тупо повесил комп...
и выдать соответствующее сообщение

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


А что там должно быть? Фолаут4?
что такое фалаут я не знаю
а вот хотябы шашки в псевдографике могли бы и быть
с полным перескроливанием экрана при ходе (если по другому нельзя)
но таких мне не попадалось...
(имею в виду чисто для цпм а не только цпм загрузчик опять же)

я вроде не требую от любых платформ
чего то для них невозможного...

Error404
20.04.2019, 20:40
что такое фалаут я не знаю
а вот хотябы шашки в псевдографике могли бы и быть
с полным перескроливанием экрана при ходе (если по другому нельзя)
но таких мне не попадалось...
(имею в виду чисто для цпм а не только цпм загрузчик опять же)

я вроде не требую от любых платформ
чего то для них невозможного...

Фолаут4 - современный 3D-шутер с концепцией "свободного пространства" на тему постапокалипсиса. Я просто как раз собирался его качнуть посмотреть. :)
Игрушки конечно есть, ведь и тогда как и сейчас покупали комп для работы учебы, а потом играли что дым коромыслом. Игры которые можно запускать на любом CP/M компе конечно все для совместимости были псевдографические, начиная от Отелло(реверси) и тектовых адвентур типа Стартрек от 79 года, до вполне играбельных динамических.
Вот в этой теме Максагор собирал игры - те которые не ширпотребовские, не входившие в предыдущие сборники, там их прилично накидали, в т.ч. и по моим наводкам как на этой страничке и не только на ней
https://zx-pk.ru/threads/1250-novosti-sajta-atm/page24.html
есть довольно свежие - 3-5 летней давности, видимо пишут еще энтузиасты. Или портируют, при наличии исходников с других платформ это легко (был бы компилятор).
некоторые игры я даже на UZIX запускал под эмулятором CP/M - работают (тетрис, клад/cave, king).

NEO SPECTRUMAN
20.04.2019, 20:56
Но вот
на вид это именно оно
при условии что там все через системные вызовы

Shiny
21.04.2019, 08:59
Интересно, а как реализовать BDOS? воткнуть по адресу 5 какую-то точку перехода?

Vadim
21.04.2019, 09:40
Вот в этой теме Максагор собирал игры - те которые не ширпотребовские, не входившие в предыдущие сборники, там их прилично накидали, в т.ч. и по моим наводкам как на этой страничке и не только на ней

Максагор, по моим наблюдениям, сидит в очень бронированном танке, в 2018 году он открывает для себя игру Ladder (аналог Lode Runner, но для текстового дисплея). "Собирает" то, что собрано для него в начале 90х и продавалось как фирмами по почте, так и на дискетах на радиорынках. Где он был всё это время - непонятно.

NEO SPECTRUMAN
21.04.2019, 11:27
Интересно, а как реализовать BDOS? воткнуть по адресу 5 какую-то точку перехода?
задумал 512 байт цпм?

Shiny
21.04.2019, 11:28
задумал 512 байт цпм?


Не, просто мысли о порте не дают покоя (:

NEO SPECTRUMAN
21.04.2019, 16:46
Не, просто мысли о порте не дают покоя (:
ляж поспи и все пройдет

Shiny
21.04.2019, 16:55
конечно, nedoos нашевсе

Максагор
07.05.2019, 21:08
Максагор, по моим наблюдениям, сидит в очень бронированном танке, в 2018 году он открывает для себя игру Ladder (аналог Lode Runner, но для текстового дисплея). "Собирает" то, что собрано для него в начале 90х и продавалось как фирмами по почте, так и на дискетах на радиорынках. Где он был всё это время - непонятно.

Игра LADDER у меня выложена на сайте уже лет десять как. Ну некоторые другие текстовые игры мне в 90-е не попадались по той причине, что я тогда занимался исключительно спектрумом, а не ЦПМом, да у нас в Литве в Клайпеде и не было какого-то единого радиорынка, где можно было бы купить "все по 8 бит". Коллекционированием всего под ЦПМ я взялся только во второй половине 00-х годов, причем параллельно с другими занятиями в рамках спектрума. Да и не был я никогда каким-то отдельно "фанатом" CP/M - впрочем, как и "противником". Всегда относился к ней спокойно, уважительно, но скорее функционально в рамках сбора "наследия АТМ" - типа в АТМ есть ЦПМ, под нее есть софт. Значит надо в рамках сайта собирать все, имеющее отношение как к АТМ, так и к ЦПМ... Надо ли дополнительно подчеркивать, что я специально никогда не рыл землю в поисках чего-то под эту ОС?

baxter
24.09.2019, 10:48
Несколько дней юзал сабж. Не думал, что всё работает так, более-мение стабильно. Многозадачность есть. А самое главное, что я так хотел для моей Эволюшн - это одновременная работа нескольких тр-дос приложений! Авторам большой респект!

NEO SPECTRUMAN
24.09.2019, 12:03
это одновременная работа нескольких тр-дос приложений!
это смысле? о_О

а как вообще можно покинуть\прервать приложение
которое на это изначально не рассчитано?

разве что через какое нибудь nmi

и какая речь про одновременно

разве что все стоят на паузе
когда одно работает


хотя даже такой функционал был бы полезен
тем более если он уже есть??? о_О

baxter
24.09.2019, 12:17
Да, всё верно, одно приложение работает, остальные висят в памяти не активные. Переключаются по меджику.

goodboy
24.09.2019, 12:28
одно приложение работает, остальные висят в памяти не активные. Переключаются по меджику.
так это всё было ещё раньше ( в MagOS для скорпа) что тут удивительного ?

baxter
24.09.2019, 12:42
Проблема в том, что магос работает только на скорпе.

Error404
24.09.2019, 13:06
Повесить таймер на мейджик (хоть те же 50Гц) и сделать нормальный гипервизор с коммутируемой многозадачностью. Провод кинуть не сложно же (для особо продвинутых, сделать это через триггер с гейтом от бита порта, а если оно в ПЛМ так и вообще не проблема).

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

Еще можно поставить магнит+геркон на колесо от велосипеда и вывести туда провод от кнопки магик. Велик сейчас у всех есть, даже пенсионеры по парку носятся, всех сбивая. Чем быстрее крутишь, тем выраженнее многозадачность.

NEO SPECTRUMAN
24.09.2019, 13:27
ак это всё было ещё раньше ( в MagOS для скорпа) что тут удивительного ?
мну о таком не слышол
да и если было только
то теперь есть и тута

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

goodboy
24.09.2019, 15:44
тут ещё интересно как на реале определяется страница в которой исполняется код и цвет бордюра (для заморозки) ?
на скорпе вроде состояние порта#7FFD можно прочесть через портAY

NEO SPECTRUMAN
24.09.2019, 17:58
тут ещё интересно как на реале определяется страница в которой исполняется код и цвет бордюра (для заморозки) ?
через порты $xxBE в эво
можно много чего для nmi прочитать
в том числе последнее положеное в $7FFD

но есть ли они в атм яхз

andrews
24.09.2019, 18:54
Повесить таймер на мейджик (хоть те же 50Гц) и сделать нормальный гипервизор с коммутируемой многозадачностью. Провод кинуть не сложно же (для особо продвинутых, сделать это через триггер с гейтом от бита порта, а если оно в ПЛМ так и вообще не проблема).

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

Еще можно поставить магнит+геркон на колесо от велосипеда и вывести туда провод от кнопки магик. Велик сейчас у всех есть, даже пенсионеры по парку носятся, всех сбивая. Чем быстрее крутишь, тем выраженнее многозадачность.обычно системный тик стремятся иметь максимально точным. Поэтому можно взять дешевый smd генератор семейства SWO (Mercury) c хорошим ppm и подходящей частотой и нужный вам делитель частоты.Как посчитать погрешность и минимальную степень деления не подскажу, гугл вам в помощь. Тогда это позволит задачам откладываться на требуемый интервал времени с большой точностью, что важно для драйверов. Впрочем, если стоит Alter-а достаточно кодить силикон.

Максагор
24.09.2019, 23:33
через порты $xxBE в эво
можно много чего для nmi прочитать
в том числе последнее положеное в $7FFD

но есть ли они в атм яхз

В АТМ этих портов на чтение нет. Но версия NedoOS есть.

NEO SPECTRUMAN
25.09.2019, 08:43
тут ещё интересно как на реале определяется страница в которой исполняется код

через порты $xxBE
а так
можно
1. сгенерировать контрольные суммы подключенных в данный момент страниц
2. контрольные суммы для каждой имеющейся страницы
3. ....
4. ....
5. ПРОФИТ!!! (при условии что не использовалась пустая страница или ВНЕЗАПНО не произошло ложное совпадение контрольных сумм)

но знаний только номеров активных страниц как то маловато


цвет бордюра случаем не читается через $FF ? когда он есть

baxter
25.09.2019, 09:47
Можно же у авторов спросить. Да и исходниками могут поделиться, если хорошо попрасить.

NEO SPECTRUMAN
25.09.2019, 17:17
В АТМ этих портов на чтение нет. Но версия NedoOS есть.
шота версия нЕдоОС
есть и для петнагон 2666

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

только в чем бы ее запустить...

helcril
06.04.2020, 12:33
Приветствую всех!
Подскажите, пожалуйста по данной оси:
1. В дистрибутиве есть 3 версии. Какой из них предпочтительней пользоваться на ZX Evolution.
2. Так же в дистрибе есть файлы с расширением .$C. Для чего они?
3. Не удается запустить SMB в данной системе, пробовал версии для ATM2,3 для Пентевы.
Заранее спасибо!

Black Cat / Era CG
07.04.2020, 09:34
3. Не удается запустить SMB в данной системе, пробовал версии для ATM2,3 для Пентевы.
А NES-ром рядом лежал?

helcril
07.04.2020, 11:45
А NES-ром рядом лежал?
Нет, не знал даже, что он нужен. Я думал это полноценный порт.

NEO SPECTRUMAN
07.04.2020, 11:57
Нет,
передавай превет коперастам :v2_dizzy_bye:

NEO SPECTRUMAN
07.04.2020, 14:10
скачал новую 410
теперь это недоведро вешается при попытке зайти в недопапку nedogame :v2_dizzy_facepalm:
да и сама ось запускается спинка через раз...

видимо обновление осей до версий в которых фигурирует цифро 10
к хорошему не приводит....

helcril
07.04.2020, 14:27
скачал новую 410
теперь это недоведро вешается при попытке зайти в недопапку nedogame :v2_dizzy_facepalm:
да и сама ось запускается спинка через раз...

видимо обновление осей до версий в которых фигурирует цифро 10
к хорошему не приводит....
У меня работает нормально, на зависает, если гружусь с трд образов. А вот при попытке запустить файлы с расширением $C выдает ошибку, что не найден cmd.com.

NEO SPECTRUMAN
07.04.2020, 14:53
выдает ошибку, что не найден cmd.com.
У меня в унриале большую часть времени оно выдает так при запуске трд
хотя в старых версиях все было ок и работало с полпинка :)

Yprit
27.05.2020, 22:03
У меня в унриале большую часть времени оно выдает так при запуске трд
хотя в старых версиях все было ок и работало с полпинка :)

У меня выдает при попытке запуска почти всех версий .$C с SD-карты (ZX Evo)

baralgin1003
01.10.2020, 14:48
Дратути. Скачал последнюю версию оси 722. Пытаюсь запустить на АТМ2+ и в оболочке постоянно ловлю залипание клавиш. Нажал курсор один раз, а он побежал до конца каталога. Отключение турбо режима немного спасает сиутацию, залипание немного реже и не столь продолжительные. Контроллер клавы ВЕ32, 11МГц.
Проект интересный и хотелось бы поставить в АТМ на постоянку)

NEO SPECTRUMAN
25.10.2020, 02:12
а в этой *****й недооси
есть *****й недодиспетчер задачь?

и вообще нужно больше гуя
чтоб все интуитивно и понятно
без читаний мануалов

hippiman
26.10.2020, 23:40
а в этой *****й недооси
есть *****й недодиспетчер задачь?

и вообще нужно больше гуя
чтоб все интуитивно и понятно
без читаний мануалов

На вот тебе видос по устройству недооси
https://www.youtube.com/watch?v=Q4KHltfqYVw

SfS
17.11.2020, 12:06
http://forum.nedopc.com/viewtopic.php?f=39&t=9762

Прошу принять мою критику не как претензии, а как вопросы, возникающие у стороннего человека к NedoOS.

1. Почему в NedoOS используется куча рестартов (RST0, RST8, RST16 и так далее) ? Чем это лучше использования одного рестарта? Не планируется ли переработка в этом плане?

2. Почему диски прибиты к фиксированной букве? И надо ли вообще эти буквы дисков использовать? Не лучше ли сделать точки монтирования как в UNIX? Это очень сложно?

3. Почему для параметров командной строки размер буфера 128 байт? Нет, понятно, что для одного параметра это более чем достаточно. Но стоит задать 3-4 параметра, да ещё с путями в системе и 128 байт не хватает. Не планируется ли сделать передачу параметров как-то поиному, например через отдельную страницу?

4. Я не нашёл в ОСи какого-то уровня драйверов. Скажеим, хочу я подключить свою любимую ESP8266 как сетевуху - и как для неё драйвер писать? А драйвер того же UART, например или ещё какогото устройства? Планируется ли проработка HAL-уровня вообще?

Есть ещё куча "почему и зачем", но пока остановлюсь.

В целом идея ОСи очень хороша тем, что она реализована и работает. Но пока это дикий монолит, куда нельзя встроить свой модуль без плясок с бубнами...

NEO SPECTRUMAN
17.11.2020, 12:28
4. Я не нашёл в ОСи какого-то уровня драйверов. Скажеим, хочу я подключить свою любимую ESP8266 как сетевуху - и как для неё драйвер писать? А драйвер того же UART, например или ещё какогото устройства? Планируется ли проработка HAL-уровня вообще?

Есть ещё куча "почему и зачем", но пока остановлюсь.

а ищо
у аффтара ВСЕ может поменятся в любой момент
и поэтому все существующие программы компилируются одновременно со всей ОС :v2_dizzy_facepalm:
а на фоне ОС для АТМ...

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

лучше бы аффтар не морочил бы себе и нам голову
а сказал что это запускалка ТРД с возможностью свернуть один запущенный процесс и запустить другой для всяких там АТМ пентев
и все было бы логично

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

Sayman
17.11.2020, 13:00
С сабжем печально всё.
1. в качестве драйвера файловой системы FAT используют FatFS с выпиленной поддержкой Fat12. Места нет для этой ФС (потому, что си).
2. дисководы это legacy device и шибко поддерживать не хотят.
3. они там свято верят, что дискеты с Fat12 может быть только 1.44мб и что ВГ93 не умеет читать 512 байт сектора (рукалицо).
4. разделы могут быть только на HDD (на жёстких дисках) и только первичные.
5. если подсунуть SD карту с разделами, найден будет только самый первый раздел, т.к. думают, что на карте разделов быть не должно.
6. были ещё какие-то фигны с дисковыми девайсами...
7. с терминалом (консолью) вообще печаль какая-то. текст печатать не удобно. всё норовит куда-то вверх уехать. камандер не умеет запускаться поверх консоли. ещё и мусорит при выходе.
8. "многозадачность" без приоритетов. просто цикличная по списку.
9. камандер не умеет в динамический список найденых/смонтированных логических девайсов. вываливает всё целым списком. пади и система так же работает.
10. и т.д.

зато автор радуется, что он смог адаптировать куцый BDS C который не умеет в 32бита логику и арифметику. Написал на этом си коцалку файлов. если учесть, что у файла указатель 32бита. а компилятор не может в 32бита, не трудно догадаться, что на больших файлах будет фейл. да, кстати, компилятор перестал собирать исходники, на стадии линковки система умирает. и то при том, что компилятор пересобирается вместе с ядром. видимо в ядре что-то поменялось, но пропатчить софт уже нет желания у автора, но есть желание раскрашивать древние игры.

SfS
17.11.2020, 13:05
Ребята, я не ругаю авторов, а критикую.


а ищо
у аффтара ВСЕ может поменятся в любой момент
и поэтому все существующие программы компилируются одновременно со всей ОС 
а на фоне ОС для АТМ...

Это как раз нормально для нулевой версии. Программ не много ещё.

Интересно было бы автора услышать: планы дальнейшего развития ОС.

Sayman
17.11.2020, 13:07
планы дальнейшего развития ОС.
да нету там никакого развития. они адаптацией трдос игрушек уже занялись с мыслями о том, что разработка ядра завершена. хотя там баг на баге и багом погоняет.
на вопрос о том, почему используют fatfs для целой ОСи, сказали, что fat сложный...
оно конечно так, но стоило бы разобраться в его работе, нюансах и запилить свой драйвер, с блекджеком и дефками. плюс какая-то не понятная каша с драйверами в виду того, что по их словам - у эвы нет биоса как у Спринтера, надо место экономить в озу.

SfS
17.11.2020, 13:16
на вопрос о том, почему используют fatfs для целой ОСи, сказали, что fat сложный...


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

Авторов бы послушать...

Sayman
17.11.2020, 13:18
Ну почему бы и нет? FAT12 неактуален, это правда.
кому-то не актуален, а кому-то очень даже. дискеты пока ещё никто не отменял и, в том числе, мсдосные тоже приходится на 8 бит гонять.

SfS
17.11.2020, 13:26
кому-то не актуален, а кому-то очень даже. дискеты пока ещё никто не отменял и, в том числе, мсдосные тоже приходится на 8 бит гонять.

Я не об этом. Ребята хотели быстро разработать ОС. Взяли готовую либу ФАТа. Другие готовые либы...
Это всё правильно на начальном этапе. Но если потом не будет развития - то плохо.

Но меня удивила куча рестартов. И отсутствие уровня драйверов.

NEO SPECTRUMAN
17.11.2020, 15:25
Ребята хотели быстро разработать ОС.
ну аффтар дето говорил что пиления ос началось еще огого когда
и вот только недавно запилилось в нужных количествах и темпах

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


Но меня удивила куча рестартов.
а че тут удивительного?
в придачу самих рестартов всего 8
это у х86 256 интов...

SfS
17.11.2020, 19:40
ну аффтар дето говорил что пиления ос началось еще огого когда
и вот только недавно запилилось в нужных количествах и темпах

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


а че тут удивительного?
в придачу самих рестартов всего 8
это у х86 256 интов...

Для системных вызовов достаточно одного.
Смысл их размазывать по всем рестартам?

NEO SPECTRUMAN
17.11.2020, 22:42
Смысл их размазывать по всем рестартам?
шоб быстрее было ЖО
дрочить через один вызов это тютю

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

SfS
18.11.2020, 05:54
шоб быстрее было ЖО
дрочить через один вызов это тютю

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

В чём "быстрее"? Всё равно функция задаётся через какой-то регистр. Какая разница - иметь таблицу из 8 функций или из 256 ?
На фоне всего остального выигрыш в скорости практический нулевой.

256 функций - это таблица из 512 байт. Если её в отдельной странице сделать (а ОС в любом случае в отдельной странице) - то никаких проблем. Грубо говоря, любой системный вызов это нечто вроде:

Надо больше функций? Делаем таблицу больше. Примерно так.



;// гдето в коде ПО bc - номер системного вызова. Остальные регисты - параметры (или стек, не важно)
ld bc,#os_call_number
rst 8
.................

;// Системный рестарт (для примера RST8)
org 0x0008
// Вход
RST8_entry:
call store_context_and_set_system_page
// Сохранили всё, что надо для вызова и включили системную страницу с адреса 0xC000
// считаем, что bc не изменяется при вызове

// Вычисляем адрес обработчика системной функции
ld hl,#0xC000
add hl,bc
ld c,(hl)
inc hl
ld b,(hl)
push bc
ret // Переходим на обработчик

// Выход
RST8_exit:
call restore_context_and_set_progpage
ret


Чем поможет размазывание по рестартам - непонятно.

Sayman
18.11.2020, 06:23
В чём "быстрее"?
быстрее во всём. удобнее, нагляднее, логичнее иметь несколько точек входа в разные уровни API. Например, rst 8 для обращения к BIOS в котором лежат низкоуровневые процедуры и функции. rst 0x10, для вызова dos/bdos. rst 0x18, для обращения к логическим драйверам и т.д. твой вариант тоже интересен, но он значительно медленнее. Сначала делать

call store_context_and_set_system_page
// Сохранили всё, что надо для вызова и включили системную страницу с адреса 0xC000
// считаем, что bc не изменяется при вызове
а потом уже идёт вызов системы. представь. что в программе идёт какая-то загрузка каких-то данных с одновременным выводом информации на экран/терминал. соответственно. чем больше вызовов, тем медленнее будет работать программа, т.к. вызов загромождён не нужными процедурами. А когда у тебя, скажем:


;RST 10h
jp sys ; вектор ДОС-а
...
;-------------------------------------------------
; ДОС-овый вектор
;-------------------------------------------------
sys: push hl
ld l,c ; номер команды
ld h,sys_tbl / 256 ; 0200h..02FFh массив мл.байтов адресов
ld c,(hl) ; загр. мл.байт адреса
inc h ; 0300h..03FFh массив ст.байтов адресов
ld h,(hl) ; загр. ст.байт адреса
ld l,c ; готовый адрес
ex (sp),hl ; в стек и
ret

то всё работает в разы быстрее, занимает меньше места, нагляднее и удобнее. тем более, что rst это 1 байт против 3х если использовать всякие call`ы.

256 функций - это таблица из 512 байт.

Надо больше функций? Делаем таблицу больше.
и в результате твоя система превращается в кашу аля недоос, где все уровни смешаны в одну кучу, где при добавлении просто драйвера какой нить флешки, слетает вся система и всё начинает тупить (а то ещё и диск убивать).
ещё и с описанием будет каша аля тазис, в которой ВНЕЗАПНО работа с каталогами затесалась в "уровень" ccp. серия номеров функций без разделения на логические, дос, ioctl и другое, всё в одной куче.
спасибо, лично мне такие системы не интересны.

а ещё повеселил ответ на твой вопрос на тамошнем форуме... но то такое...

marinovsoft
18.11.2020, 07:18
В MS-DOS почти все API через int 21h, в Linux - системные вызовы через int 80h. И ничего, работает.

Sayman
18.11.2020, 07:57
В MS-DOS почти все API через int 21h, в Linux - системные вызовы через int 80h. И ничего, работает.
да, если не считать того, что ms-dos и тем более Linux это x86, где любая команда выполняется быстрее, чем на нашем зетнике и памяти чуть побольше. сравнивать не стоит. тут даже какая-нить ссаная атмега8 будет быстрее, чем z80. а вы ещё всё повешать в одну кучу желаете. да и лукавите вы слегка, ведь всё, что касается ioctl, резидентов и прочего подобного, в MS-DOS убрано в другие INT. например, в INT 25h, INT 2Fh.
про линукс речи вообще нет. система с совершенно иной идеологией, написанная на сях. К слову сказать, в uzix и fuzix используется аналогичная метода вызова. ну и что, ка к оно там, быстро всё работает на z80? не видно толп пользователей что-то и тонн софта.

marinovsoft
18.11.2020, 09:02
К слову сказать, в uzix и fuzix используется аналогичная метода вызова. ну и что, ка к оно там, быстро всё работает на z80?
А оно медленно работает именно из-за того, что мало количество точек входа ?

не видно толп пользователей что-то и тонн софта.
То же самое можно сказать и о NedoOS.

NEO SPECTRUMAN
18.11.2020, 09:07
В чём "быстрее"? Всё равно функция задаётся через какой-то регистр. Какая разница - иметь таблицу из 8 функций или из 256 ?
На фоне всего остального выигрыш в скорости практический нулевой.

си головного моска?

Sayman
18.11.2020, 09:11
А оно медленно работает именно из-за того, что мало количество точек входа ?
оно медленно работает из-за всего, мало того, что там си, так ещё и диспетчер медленный.
я там выше привёл рабочий пример. оно работает быстрее, чем вариант от Sfs. при этом есть такие моменты:
1. человек который пилит систему не путается в модулях/уровнях системы. например, можно спокойно добавить новый, скажем, isa-cf читалки. даже если что-то косячнул в нём, остальные драйвера не слетают и система будет продолжать работать.
2. у пользователя не будет в голове каша при чтении мануалов. он читает раздел посвящённый bdos, к примеру и понимает, что к этим функциям обращается через rst 0x10. а если ему по какой-то причине нужно напрямую сектора читать (например, пишет fdisk), то для этого он может использовать rst 8. соответственно берёт в руки мануал на биос и изучает его. и никакой путаницы нет. и главное, диспетчер быстро отправляет на нужную функцию, т.к. оптимизация. табличка со списком функций лежит на кратном 256 адресе. процедура вызова очень короткая. ваши придирки к пачке rst не ясны, очевидно же, что с целью оптимизации места и тактов. при этом суть и логика не теряется.
к сожалению к недооси это всё слабо относится, т.к. там как раз всё свалено в одну кучу, чего делать не стоит.


То же самое можно сказать и о NedoOS.
дык а я и не поклонник сабжа ;)

SfS
18.11.2020, 11:02
В MS-DOS почти все API через int 21h, в Linux - системные вызовы через int 80h. И ничего, работает.

Так о чём и речь.
Если бы надо было всего 8 вызовов - то рестартов бы хватило. А так - на каждый рестарт в итоге СВОЯ таблица. Скорости это не прибавляет. Зато всё мешает в кучу.

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


си головного моска?

Нет, рациональный подход. Вызовов много. Памяти тоже не 48к (мы ж про АТМ и EVO говорим). ЧТо мешает иметь таблицу, например в 2К величиной и там хранить до 1024 адресов функций?
Это полюбому быстрее, чем извращения с мильёнами рестартов.
Но самое главное, добавить новый вызов - элементарно, не трогая остальных.

NEO SPECTRUMAN
18.11.2020, 11:10
Скорости это не прибавляет.
можно так оптимизировать что и прибваит
СВОЯ таблица может быть сокращенной и не адресовать все 64К адресного пространства
и работать она будет быстрее

пример вообще без таблицы
rst_10
ld h,$20
ld l,a
jp (hl)

так понятно почему нужны все рсты?

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


Нет, рациональный подход.
сто пудова сяпаскалист :)

Sayman
18.11.2020, 11:11
Это полюбому быстрее
ШТА?


RST8_entry:
call store_context_and_set_system_page
// Сохранили всё, что надо для вызова и включили системную страницу с адреса 0xC000
// считаем, что bc не изменяется при вызове

// Вычисляем адрес обработчика системной функции
ld hl,#0xC000
add hl,bc
ld c,(hl)
inc hl
ld b,(hl)
push bc
ret // Переходим на обработчик

// Выход
RST8_exit:
call restore_context_and_set_progpage
ret


store_context_and_set_system_page:
push:push:push
или ещё как аргументы кидаем, регистры сохраняем
ret




;RST 10h
jp sys ; вектор ДОС-а
...
;-------------------------------------------------
; ДОС-овый вектор
;-------------------------------------------------
sys: push hl
ld l,c ; номер команды
ld h,sys_tbl / 256 ; 0200h..02FFh массив мл.байтов адресов
ld c,(hl) ; загр. мл.байт адреса
inc h ; 0300h..03FFh массив ст.байтов адресов
ld h,(hl) ; загр. ст.байт адреса
ld l,c ; готовый адрес
ex (sp),hl ; в стек и
ret

;возврат в процесс по ret, без всяких call чего то там

такты считать будем или как?

на каждый рестарт в итоге СВОЯ таблица.

ЧТо мешает иметь таблицу, например в 2К величиной и там хранить до 1024 адресов функций?
в контексте затрат по памяти нет разницы - будет это 2 таблицы рестартов или 1, но сразу на 512 адресов (или 1024 или ещё там как).

и ты предлагаешь делать очередной тазис/издос. в котором всё засунуто в одну кучу. и bdos и драва и ioctl и остальное и пофиг на всё.
даже в старой cp/m есть разделение на уровни. есть bdos, есть bios, есть ccp. и попробуй там через call 5 к bios`у обратиться)))

NEO SPECTRUMAN
18.11.2020, 11:13
ШТА?
:v2_dizzy_facepalm:
и этот товарищь мне что то рассказывал про *****код?

SfS
18.11.2020, 11:21
оно медленно работает из-за всего, мало того, что там си, так ещё и диспетчер медленный.
я там выше привёл рабочий пример. оно работает быстрее, чем вариант от Sfs. при этом есть такие моменты:


Ты привёл по факту то же, что и я, но БЕЗ сохранения контекста задачи. Вопросов нет - контекст можно сохранять-восстанавливать и внутри вызова где-то. Но главное - это делать придётся обязательно. Многозадачные ОС по-другому не работают.



1. человек который пилит систему не путается в модулях/уровнях системы. например, можно спокойно добавить новый, скажем, isa-cf читалки. даже если что-то косячнул в нём, остальные драйвера не слетают и система будет продолжать работать.


А с одним ресетом они с чего слетят?



2. у пользователя не будет в голове каша при чтении мануалов. он читает раздел посвящённый bdos, к примеру и понимает, что к этим функциям обращается через rst 0x10. а если ему по какой-то причине нужно напрямую сектора читать (например, пишет fdisk), то для этого он может использовать rst 8. соответственно берёт в руки мануал на биос и изучает его. и никакой путаницы нет.

Ну это уж совсем какаято чушь.
Элементарно же. Никакой программист не станет писать константы числами.

Скажем

// Уровень FS
#define FS_OPEN 0x10
#define FS_CLOSE 0x11
#define FS_READ 0x12
#define FS_WRITE 0x13
#define FS_FCNTL 0x14

// Уровень устройства
#define SD_READ_SECTS 0x100
#define SD_WRITE_SECTS 0x101

И какая разница - разнесено это по рестартам или нет? Всё понятно.

БИОС и БДОС это CP/M-ная чушь. Строго говоря и DOS и CP/M это не ОС, а запускалки прог с драйвером диска.Управления памятью нет, задач нет, драйверов нет как таковых по сути...

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


такты считать будем или как?

Нет, не будем. Потому что у тебя НЕТ сохранения и восстановления контекста задачи. А раз есть задача, то её контекст надо сохранять и восстанавливать при системных вызовах.

Мы ж не об абстрактном вызове говорим, а об ОС.

NEO SPECTRUMAN
18.11.2020, 11:25
это не ОС, а запускалки прог с драйвером диска.Управления памятью нет, задач нет, драйверов нет как таковых по сути...
это у тебя сильно неправильное понемание понятия ОС

а драйвера там как часть самой ос
программы же не пишут там на прямую в видео память и не опрашивают клавиатуру
все абстрагировано от прямого обращения к железу

Sayman
18.11.2020, 11:26
:v2_dizzy_facepalm:
и этот товарищь мне что то рассказывал про *****код?

что там тебе не понравилось? в каком месте ты *****код увидел?

NEO SPECTRUMAN
18.11.2020, 11:28
Управления памятью нет, задач нет,
а почему они должны обязательно быть?

оно происходит из того времен когда не лишней памяти не многозадачности не было

SfS
18.11.2020, 11:34
можно так оптимизировать что и прибваит
СВОЯ таблица может быть сокращенной и не адресовать все 64К адресного пространства
и работать она будет быстрее

пример вообще без таблицы
rst_10
ld h,$20
ld l,a
jp (hl)

так понятно почему нужны все рсты?

Это ошибка большинства - оптимизировать до укакашки несущественную мелочь, но при этом использовать готовые библиотеки той же FAT, которые едят в 1000 раз больше времени, чем что твой код, что мой. Вопрос - зачем? Ну дадут все эти извращения 1% скорости. А то и меньше. И? Зато системность - в хлам.


сто пудова сяпаскалист :)

Да, я и Сяпаскалист и джаваскриптист и ASM48ист и Z80ASMист...

Ты ж пойми простую вещь. Я не играю тут в конкурс "как за меньше тактов вызвать подпрограмму". Это глупо просто, считать такты вызова системного вызова без учёта времени переключения контекста, времени работы драйвера и прочего.

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

А тут ситуация - "ой я 16 тактов сэкономил! я крут". А то, что потом потратил в другом месте 160000 тактов - забыл..

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


а почему они должны обязательно быть?

Потому что мы говорим опять же не про абстрактную ОСь в вакууме, а про NedoOS, где это всё предусмотрено каком-то виде, да?:)

Если хочется померяться размером тактов - то пожалуйста без меня. Я не крутой кодер. Мне интересно именно построение ОС, причём правильное её построение. То есть уровни драйверов, управления памятью, переключения задач. Но не оптимизация ради оптимизации.

NEO SPECTRUMAN
18.11.2020, 11:35
Я не играю тут в конкурс "как за меньше тактов вызвать подпрограмму". Это глупо просто, считать такты вызова системного вызова без учёта времени переключения контекста, времени работы драйвера и прочего.
конечно если у тебя процедура "нахерачить содержимое 3К буфера" на экран то время вызова роли и правда играть не будет (но в этот буфер нужно еще предварительно что то накедать а это двойная работа)
но если процедура "напечатать 1 символ на экран" то эти твои 16 тактов умножаются на 100500
и выигрыш уже достаточно ощутимый

SfS
18.11.2020, 11:35
это у тебя сильно неправильное понемание понятия ОС

а драйвера там как часть самой ос
программы же не пишут там на прямую в видео память и не опрашивают клавиатуру
все абстрагировано от прямого обращения к железу

В ДОС так и было часто - писали напрямую в видеопамять и даже опрашивали клавиатуру) Особенно в играх. Да и в CP/M тоже...

NEO SPECTRUMAN
18.11.2020, 11:38
В ДОС так и было часто - писали напрямую в видеопамять и даже опрашивали клавиатуру) Особенно в играх. Да и в CP/M тоже...
я знаю
система же не предоставляла того чего хотелось аффтару
а если и предоставляла то в крайне извращенной и тормозной форме
не пригодной для использования во времена медленных машин

SfS
18.11.2020, 11:41
конечно если у тебя процедура "нахерачить содержимое 3К буфера" на экран то время вызова роли и правда играть не будет (но в этот буфер нужно еще предварительно что то накедать а это двойная работа)
но если процедура "напечатать 1 символ на экран" то эти твои 16 тактов умножаются на 100500
и выигрыш уже достаточно ощутимый

Это вопрос уже к тому, кто пишет прикладное ПО. Или он будет по одному каждый символ на экран пихать или сразу строками по 768 символов)

И вне зависимости от всего - проблема "сохранить контекст при вызове и восстановить его при выходе" - никуда для многозадачной ОС не денется.
Ну вызовешь ты системный вызов сверхбыстро. А внутри вызова опять - сохранить контекст, вызвать процедуру печати, восстановить контекст... То есть то же самое.

NEO SPECTRUMAN
18.11.2020, 11:44
и даже опрашивали клавиатуру
щас тоже опрашивают через Ж
в обход того что настроил под себя пользователь

и рисуют окошки средствами *****х Qt
на которых системные настройки и всякие там Accessibility не распространяются
и пользователь потом вспоминают эти *****е кросплатформенности на которые ему вообще насрать...

SfS
18.11.2020, 11:45
я знаю
система же не предоставляла того чего хотелось аффтару
а если и предоставляла то в крайне извращенной и тормозной форме
не пригодной для использования во времена медленных машин

То есть проблема в непрдуманности предоставления ресурсов по сути.
В настоящее время, например, уже есть такая продуманность. И по памяти. И по экрану.

Например, предоставление экрана как фреймбуфера определённого формата. Скажем, пользователь говорит - хочу стандартный экран спека. Система - да ради бога, вот тебе страница номер такая-то, пиши в неё. И всё.

NEO SPECTRUMAN
18.11.2020, 12:05
Ну вызовешь ты системный вызов сверхбыстро. А внутри вызова опять - сохранить контекст, вызвать процедуру печати, восстановить контекст... То есть то же самое.
ты еще забыл про вставить 5 nop-ов а чтоб было...

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


Скажем, пользователь говорит - хочу стандартный экран спека. Система - да ради бога, вот тебе страница номер такая-то, пиши в неё. И всё.
а скажем пользователь говорит
хачу экран АТМ
а у него экран профи
и тут начинается

или нужно пользователя послать

или нужно конвертер чужого экрана
а их нужно
ATM 320x200 > 6912
ATM 640x200 > 6912
profi 512xXЗ > 6912
16c > 6912
ATM 320x200 > profi 512xXЗ
ATM 640x200 > profi 512xXЗ
16c > profi 512xXЗ
ATM 320x200 > 16c
ATM 640x200 > 16c
profi 512xXЗ > 16c
итд
А ТУТ ВНЕЗАПНО оказывается что эти экраны местами жестко прибиты к некоторым страницам
а в этих страницах уже что то лежит и нужно перемещать...

а видео режимов гораздо больше
и количество работы овер чем дофига


или нужно полное абстрагирование от железа и тормоза
и тогда пользователь говорит
"хачу экран 6912"
а ему говорят "а нехрена пишите в 32 битный линейный буфер который на 128К занимает 150% всей памяти"
а наша ОС через 7 000 000t возможно отобразит его содержимое на экран...

вот по этому ОС для старых компов и не нужна
а нужен драйвер диска изапускалка программ которые сами пишут в железо

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

а так я тоже хочу ОС
чтоб одни и те же программы запускались и на спектруме и на специалисте и на *****м мсх-е
и чтоб была адаптация видео буфера под имеющийся видео режим
и чтоб плавающие точки входа (а не только возможность запускать на одном только АТМ)
и чтоб был jit рекомпилер для запуска ненативного кода
и чтоб это работало на минимально конфигурации на РК86 с 32к рамы и матафоном...
...но все хотелки не поместятсо же никуда...

а ну да
никто ж не будет под оно писать
тк оно все будет дико медленно
а люди хотят мультиколоров!

Sayman
18.11.2020, 12:09
БИОС и БДОС это CP/M-ная чушь.
на сегодняшний день CP/M и его клоны пока единственные адекватные системы для z80 и рядом стоящих процессоров (вроде 6502 и иже с ними). массовей систем для подобных процессоров пока никто не придумал. будешь первым?

Строго говоря и DOS и CP/M это не ОС, а запускалки прог с драйвером диска.
пускалка это tr-dos, которая по сути своей есть расширение для бейсика. про дос:

DOS управляет памятью с помощью блоков MCB (Memory Control Block). Память разбивается на блоки; каждому блоку предшествует MCB, в котором записаны характеристики блока памяти. Для каждой вновь запускаемой программы DOS создает определенное количество блоков MCB. При освобождении памяти или при выполнении запросов на получение дополнительной памяти DOS также использует блоки MCB, проверяя при этом правильность их содержимого.
так что дос умеет управлять памятью (это если про ms-dos говорить). про cp/m: реализаций этой системы вагон и малая телега. среди разных клонов есть и такие, где есть управление памятью. примером является profi-dos/pq-dos для Profi.


Никакой программист не станет писать константы числами.
причём тут константы? я разве про это говорил? почитай мануал на издос. много ли ты там поймёшь? особенно когда "номера" функций гуляют по разным "модулям" и уровням. глаза сразу кровоточат, а в голове возникает каша.


Многозадачные ОС по-другому не работают.
а что если мне плевать на многозадачную ОС и у меня простая ДОС?


но при этом использовать готовые библиотеки той же FAT, которые едят в 1000 раз больше времени
я не являюсь поклонником сабжа и меня самого жутко бесит вкаряченный fatfs. он медленный и не поворотливый и сожрал там почти 16кб памяти (байт 500 примерно осталось свободно).
и вот теперь давай считать:
ты предлагаешь всё свалить в одну кучу. как разделять вызовы между bdos (а он 100% должен быть, т.к. отвечает за работу с файлами, каталогами, парсинг строк, переменные окружения, бла бла, много чего там сидит (не конкретно в сабже, я вообще)) и, скажем, логическими драйверами? пишу я fdisk с форматилкой. мне надо делать разбор переданных аргументов (функционал bdos), мне надо прочитать 0й сектор с винта (bios), мне надо делать вывод на экран, мне надо делать ещё 512 разных манипуляций. при этом имей в виду, что вывод на экран тут будет самым прожорливым, т.к. местами придётся буквально побайтно делать вывод некоторых элементов. и вот есть две системы - твоя и ещё какая-то. но в твоей сисстеме ты не стал заморачиваться на производительности и всё свалил в кучу. а в другой наоборот автор озаботился об 1% оптимизации. как думаешь, где будет приятнее работать, в твоей оси или где то ещё? ответ очевиден.
в сабже та же проблемма - рестартов много, но они используются глупо, не рационально. когда начинаешь читать файло с каким-то разбором, парсингом, то приходится часто обращаться к системе за очередной порцией данных. и как всё это будет тупить, когда А - у тебя fatfs, Б - у тебя ничего не оптимизированно, длинные вызова которые не умеют различать куда идёт вызов (точнее умеют, но делают это дольше, чем если бы были на отдельном рестарте). кстати, ты сам там жаловался на монолитность, но сам же за неё топишь.


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

SfS
18.11.2020, 12:15
ты еще забыл про вставить 5 nop-ов а чтоб было...

Не знаю про нопы, а про то, что никуда от сохранения-восстановления всех регистров при переключении задач не деться - это знаю точно.




а скажем пользователь говорит
хачу экран АТМ
а у него экран профи
и тут начинается

или нужно пользователя послать

или нужно конвертер чужого экрана

.......................................


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

И это всё проблемы куда более серьёзные и интересные, чем потратил ты 100 или 200 тактов на вызов.

Sayman
18.11.2020, 12:18
на прошлой неделе шутки ради провёл тест между тремя системами на предмет копирования файлов - Nedoos, pq-dos, Estex (Спринтер). задача довольно тривиальная. частота применения у всех разная.
файл размером в 4096 кб. сабж выполнил копирование дольше всех. более того, в процессе копирования командер не мог обновить информацию о статусе операции. там вообще с этим всё плохо.
при этом все трое находились в одинаковых условиях: 1. тест на эмуляторах, у всех одинаковые настройки "инта" (типа частота проца), файл один и тот же, файловая система fat16 везде.

SfS
18.11.2020, 12:20
кстати, ты сам там жаловался на монолитность, но сам же за неё топишь.

Это где это? Количество рестартов никакого отношения к модульности не имеет.
Как и качество документации.


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

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

NEO SPECTRUMAN
18.11.2020, 12:22
от сохранения-восстановления всех регистров при переключении задач не деться - это знаю точно.
задачи переключаются как раз достаточно редко
а вот системных вызовов происходит тонны


Экран спека - есть везде и он стандарт.
почему он есть везде?
ОС как раз для разных машин
и экран спека есть только на спеке



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

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

SfS
18.11.2020, 12:25
на прошлой неделе шутки ради провёл тест между тремя системами на предмет копирования файлов - Nedoos, pq-dos, Estex (Спринтер). задача довольно тривиальная. частота применения у всех разная.
файл размером в 4096 кб. сабж выполнил копирование дольше всех. более того, в процессе копирования командер не мог обновить информацию о статусе операции. там вообще с этим всё плохо.
при этом все трое находились в одинаковых условиях: 1. тест на эмуляторах, у всех одинаковые настройки "инта" (типа частота проца), файл один и тот же, файловая система fat16 везде.

А какая из них многозадачная?)

NedoOS сырая ещё, как ни курти. Но - работает. А значит ребята делают хорошее дело.

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


задачи переключаются как раз достаточно редко
а вот системных вызовов происходит тонны

И внутри любого из них может щёлкнуть задача. Ну или запрещать переключение внутри вызовов. А вызовы могут быть и медленными.



почему он есть везде?
ОС как раз для разных машин
и экран спека есть только на спеке

Для разных Спектрум-совместимых машин. Что не маловажно.

те экраны еще больше чем экран спектрума
и с ними даже если работать на прямую тежяло не ползать



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

Зачем? Нет видеорежима - нет и мультиков))
И зачем чему-то на дискету непременно влазить?

NEO SPECTRUMAN
18.11.2020, 12:30
А какая из них многозадачная?)
та которая с окошками и панельками :)
https://upload.wikimedia.org/wikipedia/commons/a/a7/Symbos-cpc.png


какая может быть многозадачность
когда задачи переключаются ручками при помощи nmi?

с таким же успехом можно к любому спектурму прикрутить многозадачность
и сохранять запущенную задачу на диск
и иметь бесконечно количество "запущенных" задачь
они же "запущенны" только лежат на диске :v2_lol:
можно будет даже выключить комп а потом востановить "свернутую" задачу

это будет многозадачностью?

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


Зачем? Нет видеорежима - нет и мультиков))
И зачем чему-то на дискету непременно влазить?
а если убрать зачем
и получается "ОС для спектрума"
по факту "ОС для АТМ"
по факту "не ОС" а запускалка тк какая нахрен ОС когда она только на АТМ?

SfS
18.11.2020, 12:30
какая может быть многозадачность
когда задачи переключаются ручками при помощи nmi?


Так насколько я понимаю, в NedoOS задачи по кругу переключаются по INTу.

NEO SPECTRUMAN
18.11.2020, 12:31
Так насколько я понимаю, в NedoOS задачи по кругу переключаются по INTу.
то я немножко не туда :v2_dizzy_tired2:
то не нативные трдосные процессы только через нми...

Sayman
18.11.2020, 12:48
А какая из них многозадачная?)
многозадачная там как раз недоось. ну как понять многозадачная - переключать процессы толком ты всё ровно не могешь, но зато есть утилита proc, она покажет тебе все процессы.

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

как ни курти.
она не просто сырая, она всё ещё на стадии альфа (т.е. активная стадия разработки и проработки), но при этом её уже кинули в паблик с намёком - давайте, кодьте все под неё, она уже готова. но если учесть, что от билда к билду в системе "что-то" меняется так, что старый софт перестаёт там работать, то в паблике такой системе делать ещё пока не чего.

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


по кругу переключаются по INTу.
именно так. только не совсем по инту. кодер должен сам отдавать системе квант времени через вызов yeld. т.е. как говорит алоний, делать ei:halt в недооси возбраняется всячески. только ei:yeld. не сделаешь елд. получишьш пачку глюков и тормозов (вплоть до зависания, что уже было в одной из сборок в их wizcfg).

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


та которая с окошками и панельками
даже там вызовы не через одну дырку реализованы.

NEO SPECTRUMAN
18.11.2020, 12:48
только ei:yeld.
ну а как по другому когда нет хврдварного таймера с прерываниями?
а 50Гц сильно медленно

SfS
18.11.2020, 12:51
ну а как по другому когда нет хврдварного таймера с прерываниями?
а 50Гц сильно медленно

Так все известные ОС с вытесняющей многозадачностью имеют аналог Yeld(). Не нужно время задаче - отдай другой.

В Linux таймер 100Гц. Всего в 2 раза быстрее)

NEO SPECTRUMAN
18.11.2020, 12:58
делать ei:halt в недооси возбраняется всячески
только не ясно а как это должно привести к глюкам?

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

ни к чему другому кроме как просеранию тактов это не должно приводить

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


В Linux таймер 100Гц. Всего в 2 раза быстрее)
не ну если система сама все время опрашивает клаву, мышо
и посылает факт события программе то можот и до

а вот если опрос инициализируется самой программой то это уже тормоза и инертность...
тк 50Гц УЖЕ маловато
а если еще и будут пропуски...

в придачу все это еще накладывается на инертность эмулятора...
а потом в долбанных менюшках хрен попадешь по нужному пункту...

Sayman
18.11.2020, 12:59
ну а как по другому когда нет хврдварного таймера с прерываниями?
вопрос не о том. что аппаратные прерывания, а о том, что условие является обязательным, а не рекомендуемым. если почитать описание на тот же Симбос, то там это указано в контексте рекомендации.

NEO SPECTRUMAN
18.11.2020, 13:00
что условие является обязательным
обязательным то обязательным
не есно как его не выполнение может вызвать что либо еще кроме тормозов

Sayman
18.11.2020, 13:10
В Linux таймер 100Гц. Всего в 2 раза быстрее)

Значение параметра HZ отличается для различных поддерживаемых аппаратных платформ. На самом деле, для некоторых аппаратных платформ значение параметра HZ отличается даже для разных типов машин.
для i386 это 1000Hz.

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


не ну если система сама все время опрашивает клаву, мышо
если говорить про линуксы всякие, то система там не занимается опросом таких девайсов. для этого есть аппаратные прерывания которые генерируются по событиям от этих девайсов. например, на профике мышка как раз активная (компортовая) и генерирует прерывания, которые исполняются с адреса 0x0020 (точнее там на шине со стороны контроллера формируется опкод команды rst 0x20, это ещё один пример пользы рестартов и не возможность отказа от них на z80).

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


олько не ясно а как это должно привести к глюкам?
не имею представления.

NEO SPECTRUMAN
18.11.2020, 13:12
то система там не занимается опросом таких девайсов. для этого есть аппаратные прерывания которые генерируются по событиям от этих девайсов.
которые и обрабатывает система
в нашем случае это тоже самое что система опрашивает
тк прерываний у нас нет...

SfS
18.11.2020, 13:17
для i386 это 1000Hz.[/COLOR]



CONFIG_NO_HZ=y
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100


Конфиг моего ядра на 8головом PC говорит, что всё же 100Гц. Calculate Linux, Gentoo Linux...

[QUOTE=Sayman;1089791]
если говорить про линуксы всякие, то система там не занимается опросом таких девайсов. для этого есть аппаратные прерывания которые генерируются по событиям от этих девайсов. например, на профике мышка как раз активная (компортовая) и генерирует прерывания, которые исполняются с адреса 0x0020 (точнее там на шине со стороны контроллера формируется опкод команды rst 0x20, это ещё один пример пользы рестартов и не возможность отказа от них на z80).

Я говорил про программные рестарты. Аппаратно то можно в IM2 как хошь сделать. Давай на шину нужное смещение и радуйся... 128 устройств - твои.

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


которые и обрабатывает система
в нашем случае это тоже самое что система опрашивает
тк прерываний у нас нет...

Клавиатура и мышь.. Что там ещё опрашивать. А у визнета тоже нет прерываний?

NEO SPECTRUMAN
18.11.2020, 13:19
если говорить про линуксы всякие, то система там не занимается опросом таких девайсов. для этого есть аппаратные прерывания которые генерируются по событиям
кстате чот я не уверен что юсб мышки генерируют какие либо прерывания

да и частоту опроса юсб мышо повышают поднятием частоты опроса всего юсб
патчением чего то то там в hex редакторе...

хотя ЯХЗ
понаразводили тут эти всякие новомодное нанотехнологии :v2_dizzy_biggrin2:

Sayman
18.11.2020, 13:21
в нашем случае это тоже самое что система опрашивает
тк прерываний у нас нет...
это соввсем разные вещи потому, что в случае отсутствия таких прерываний нужно на каждом 50гц прерывании делать "ручной" опрос портов и тратить на это такты внутри обработчика. а по прерыванию девайс сразу улетает на приём данных из порта (причём не все сразу, а 1 байт за одно прерывание).

NEO SPECTRUMAN
18.11.2020, 13:22
это соввсем разные вещи потому
повторяю в условиях спека у нас нет прерываний от мышо
и нам трижды все равно как там на ПЦ и нужно опрашивать самим

Sayman
18.11.2020, 13:24
Конфиг моего ядра на 8головом PC говорит, что всё же 100Гц.
да ты что?


cat /boot/config-`uname -r` | grep HZ
CONFIG_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000

uname -a
Linux v-asterisk 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[sadmin@v-asterisk ~]$ cat /etc/issue
CentOS release 6.10 (Final)
Kernel \r on an \m

NEO SPECTRUMAN
18.11.2020, 13:25
опрос портов и тратить на это такты внутри обработчика
как раз тут это тратить такты звучит смешно
тем более для ПЦов

еще добивает как для опросов и подавлений дребезгов бородатые инженеры боролись и внедряли прерывания от клавиатур
и избавляли пользователя от сложнейшего декодирования номера нажатой клавиши
видителе так сложно по жмени битов раздуплить что таки нажато... :v2_dizzy_facepalm:

в спектруме все правильно
никакого лишнего говна

да и щас "опрос" ПЦшной клавиатуры просто сосет

Sayman
18.11.2020, 13:31
повторяю в условиях спека у нас нет прерываний от мышо
смотря в условиях какого спектурма. я же говорю, на профи есть прерывания от мышки. за 1 прерывание читается 1 байт из 3х.

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


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

NEO SPECTRUMAN
18.11.2020, 13:38
смотря в условиях какого спектурма
а еще меня добивает мерзкая очередь событий ввода
на всяком новомодном говне

ты жмешь НО НИЧЕГО НЕ ПРОИСХОДИТ
ты жмешь еще
но онО за наносекунду до наконец обрабатывает предыдущее нажатие
чо нить делает
и тут же отрабатывает второе нажатие
ну или обрабатывает жменю нажатий из очереди

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


а с нормальным опросом и без очередей
никаких проблем

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



дребезг это тема Спектрума и других машин, которые не умеют в сканкоды от клавы. меня наоборот воротит от битов 40ка клавишной клавы Спектрума.
а меня воротит от быдло сканкодов

а потом благодаря таким дебилам вообще имеем однокнопочные БК на которых болше чем одна кнопка и не нажимается
но зато ж сканкод

не ужели так тяжело прочитать 3 *****х бита когда они нужны?

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


дребезг
дребезг это вообще надуманная проблема
которая только у рукожопов

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


40ка клавишной клавы
а какое отношение к этому имеет 40 клавишь?
такое количество только из экономии...

Sayman
18.11.2020, 13:43
а еще меня добивает мерзкая очередь событий ввода
на всяком новомодном говне

ты жмешь НО НИЧЕГО НЕ ПРОИСХОДИТ
ты жмешь еще
но онО за наносекунду до наконец обрабатывает предыдущее нажатие
чо нить делает
и тут же отрабатывает второе нажатие
ну или обрабатывает жменю нажатий из очереди

особенно приятно когда застряешь на таком туда сюда
это всё проблемы авторов "драйвера" клавы. такие же проблемы встречаются повсеместно и на спектурме. поэтому ответить тебе могу только твоими же словами:


а еще меня добивает мерзкая очередь событий ввода
на всяком новомодном говне

ты жмешь НО НИЧЕГО НЕ ПРОИСХОДИТ
ты жмешь еще
но онО за наносекунду до наконец обрабатывает предыдущее нажатие
чо нить делает
и тут же отрабатывает второе нажатие
ну или обрабатывает жменю нажатий из очереди

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




не ужели так тяжело прочитать 3 *****х бита когда они нужны?
не ужели так сложно прочитать 3 *****х байта, когда они нужны?

NEO SPECTRUMAN
18.11.2020, 14:05
не ужели так сложно прочитать 3 *****х байта, когда они нужны?
ну прально
надо ж поставить отдельный контроллер который выдаст тебе эти сранных 3 байта
но который не будет выдавать больше 4 нажатых клавишь
тк видители их хватит всем
(с ps2 конечно не совсем так но то что есть мне совершенно не нравитсо...)

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

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


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

а все зло на свете от мерзких сяпаскалистов
которым подавай функции, структуры, готовые библиотеки, IDE и прочие непотребства

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

а так
по моему уже сильно далеко ушли от обсуждения недоосей

Sayman
18.11.2020, 14:09
они ж не могли прочитать 3 бита
я не знаю почему на спектурме некоторые не могут написать нормальный опрос клавы. если ты можешь, то хорошо. посмотри на старые журналы. куча статей, в том числе и с ошибками. каждый свой вариант опроса предлагал.
попробуй поиграть, скажем, в Мортал Комбат от AWS. опрос там корявый и выполнять всякие комбы (одновременное или быстрое последовательное) нажатие клавишь работает с проблемами.
при этом в оригинале MK1 для мс доса таких проблем нет.
- - - Добавлено - - -


по моему уже сильно далеко ушли от обсуждения недоосей
это да.

NEO SPECTRUMAN
18.11.2020, 14:26
то хорошо. посмотри на старые журналы. куча статей, в том числе и с ошибками. каждый свой вариант опроса предлагал.
так проблема в том как часто его вызывать
для опроса висячем на прерывание нужно одно
для опроса вне прерывания различим дребезг и опрос другой

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

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


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

Sayman
18.11.2020, 14:54
мне всегда лень с ними заморачиваться
хотя по хорошему нужно взять и написать нормально
Ну вот взял бы и запилил и выложил тут.

SfS
18.11.2020, 15:10
ну я использую хрен знает какие опросы клавиатуры :)
мне всегда лень с ними заморачиваться :)
хотя по хорошему нужно взять и написать нормально

Это не нормально?

https://github.com/salextpuru/sdcc-noinit/blob/master/libsrc/libzxkbd/zxkbd.c

Таблички меняются на раз.

Это тест. https://github.com/salextpuru/sdcc-noinit/blob/master/apps/test-zxkbd/main.c

NEO SPECTRUMAN
18.11.2020, 15:11
Ну вот взял бы и запилил и выложил тут.
я сторонник того что нет хорошей универсальной процедуры
процедура делается под конкретную софтварь

например зачем опрашивать 40+ клавишь и отправлять *****й сканкод?
когда используется 5

goodboy
18.11.2020, 15:11
с таким же успехом можно к любому спектурму прикрутить многозадачность
и сохранять запущенную задачу на диск и иметь бесконечно количество "запущенных" задачь
и это было сделано - magos для скорпа

SfS
18.11.2020, 15:15
я сторонник того что нет хорошей универсальной процедуры
процедура делается под конкретную софтварь

например зачем опрашивать 40+ клавишь и отправлять *****й сканкод?
когда используется 5

Весь "опрос" - это считывание 8 байт из 8 портов...

NEO SPECTRUMAN
18.11.2020, 15:22
Весь "опрос" - это считывание 8 байт из 8 портов...
угу
и жменя таблиц
и куча кода

в условиях когда чтобы вставить 10 байт
нужно 10 байт как то освободить
не применимо :)

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


Весь "опрос" - это считывание 8 байт из 8 портов...
а так до
поэтому отдельный контроллер для этой задачи
это тупо и сделано страдающими слабоумием для слабоумных

да и ресурсов на опрос идет мизерный мизер

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


Весь "опрос" - это считывание 8 байт из 8 портов...
а wasd space это 3 байта из 3х портов :)

SfS
18.11.2020, 18:13
ОС - это системный подход)

NEO SPECTRUMAN
19.11.2020, 00:30
на профи есть прерывания от мышки. за 1 прерывание читается 1 байт из 3х.
и если подумать
то просто "отличный" подход

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

как опрашивать сраную мышу при этом?

Sayman
19.11.2020, 04:45
как опрашивать сраную мышу при этом?
ты знаешь, не припоминаю, чтобы на Спектруме при выводе картинок/спрайтов стеком, чтобы параллельно ещё и мышь опрашивалась. разницы нет, ты что на Спектруме не будешь этого делать, что тут. пока процедура вывода не отработает, ты к работе с мышкой не перейдёшь, а прерывания запрещены (потому, что стек)ю твой обработчик (опрос мышки) молчит в это время.

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

NEO SPECTRUMAN
19.11.2020, 04:59
таки не обычное, т.к. запрещают на какой то период.
берем первый попавшийся jet set willy
а там im1 и запрещенные прерывания :v2_lol:

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

Sayman
19.11.2020, 05:02
jet set willy
даа... и мышки я там тоже как бы не наблюдаю, ага...

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


а там im1 и запрещенные прерывания
так там im1 или всё таки запрещённые прерывания? определись уже. если говоришь, im1, то значит прерывания там есть и запрещаются они только в какие то моменты.
или команда DI как то иначе работает с IM1? я чего то не знаю? О_о

NEO SPECTRUMAN
19.11.2020, 05:18
так там im1 или всё таки запрещённые прерывания? определись уже.
:v2_dizzy_facepalm:
вот это ты выдал
И им1
И запрещенные прерывания

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


то значит прерывания там есть и запрещаются они только в какие то моменты.
поставь бряк на $38 и подожди пока он сработает :v2_lol:

кучи игр не используют прерывания

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


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

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

перечетал твой псто выше
там вообще ж rst20
оно же бейскиковский NEXT-CHAR

тоесть софтвари с подключенной стандартной пзу-шкой вообще не адаптировать?
заточенность чисто под новый софт

и чем они думали?

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

от сюда вопрос а как оно тогда работает?
дополнительно есть порт в котором нужно разрешить генерацию прерыванию от мыши?
а потом еще и три прерывания читать значения из еще какого то порта?
нахрена эта городуха?

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

и вообще реквестирую ссылку на доку по профенской мышо
ато шота не ясно это вин или феил

SfS
19.11.2020, 06:06
Я не понял о чём срач?

В старых прогах нет мыши. В новых - есть прерывания. Проблемы нет. Или вам надо непременно запустить прогу для 48К, написанную в 85 году и чтобы мышка по верху бегала? Что за бред?

Любая ОС требует определённых правил работы. И многозадачные требуют, чтобы прерывания были разрешены. Точнее не запрещались насовсем.

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

Ребятки, вы не поставили самый главный вопрос: ДЛЯ ЧЕГО СПЕКУ ОСЬ?

Just for fun - это оставим за скобками.

Итак, моё мнение.

Для запуска игрушек - ОС точно не нужна. Вообще. Достаточно фаталла какого-нибудь. Такая возможность есть в NedoOS, но это приятный бонус.

ОС нужна для прикладных программ: языка, редакторы, браузеры и проч. И как раз в этих применениях "такты" - вторичны. Архитектура ОС - первична.

Компилировать ОС на каждый чих, конечно, клёвая идея. Но неудобно. Скажем, пишешь ты драйвер. Так почему не дать возможность его динамически выгрузит-загрузит, не прибегая к кнопке RESET? Так что реализация динамически загружаемых драйверов это ещё и удобство разработки.
Да, в конце концов, можно иметь несколько вариантов драйвера и грузить нужный.

Далее, некоторые тут "считают такты"... Хотя реализация аналога select() сэкономит на порядки больше тактов: процесс будет ждать события и система не будет переключаться на этот процесс (то есть щёлкать его контекстом), пока событие не наступит. Например не появятся данные на порту или не выйдет заданный таймаут.



В своё время, в бытность студентом, был у нас один перец, который усираясь от собственного величия, писал на асме 3Д на 286й машинке. Работало, но тормозило не подетски. Другой парниша не стал усираться, а сначала почитал книжки по алгоритмам и спокойно на С написал прогу, которая то же 3Д на той же 286й выводило куда плавнее. Это я к чему. Можно до геморроя на пальцах "считать такты" и "экономить байты", но при этом получить плохой результат изза непродуманности архитектуры программы. А можно продумать архитектуру, реализовать её, а потом уж в узких местах оптимизировать.

Alone и DimkaM сделали офигенную работу: действующий макет ОС. ИМХО, мне кажется пора чуток остановиться, подумать куда двигаться дальше, отложить ассемблер в сторону, взять текстовый редактор и написать план работ. И главное - сразу поставить конечную цель по каждому пункту.
Если сейчас ребята упрутся в портирование игрулек - то ОС помрёт. Ведь и без неё игрульки работают замечательно.

Sayman
19.11.2020, 07:17
И им1
И запрещенные прерывания

Не. давай конкретно. если прерывания запрещены, то они запрещены и нет никакого значения, im1 там или im2. поскольку оно никогда не будет включено.
а когда ты говоришь, что там im1 и запрещённые прерывания, то значит прерывания когда-то проскальзывают (разрешаются). обычно так и говорят - прерывания запрещены,
без указания режима который был запрещён.



кучи игр не используют прерывания

ОК. я с этим согласен. едем дальше.



пилятели девайса должны были предусмотреть что будет адаптация старых программ

если говорить в контексте адаптированной программы (игры или ещё чего то там), то конечно такие моменты учитывались.
Тем более, что я говорил про Профи, у которого есть своя ОС (клон ЦПМ), есть возможность выключить ПЗУ.
Мышь на профи изначально (с первых дней существования) подключалась компортовая. Был написан драйвер, кототорый
реализовывал активный режим работы мышки. Активный, значит без постоянного чтения (poll) портов на предмет данных
на основном обработчике прерываний или где то в циклах программы. Как я уже сказал, событие от мышки выдаёт на шину
опкод команды rst 0x20. Т.е. включён режим im0. По протоколу msmouse пакет состоит из 3х байт. соответственно будет
3 события и 3 вызова обработчика мышки, который прочитает порт с данным. а потом уже с этими данными программа делает
то, что ей нужно. Однако, никто не запрещает читать мышь в пассивном режиме. Различие между компортовой мышкой и
кемпстон мышкой в том, что перед чтением данных с порта данных компортовой мышки, нужно прочитать порт статус ком порта.
Если выставлен статус "есть данные", то далее читать порт с данными, 1 байт, а потом делать снова poll.
проблема в том, что в отличии от кемпстон мышки читать данные подряд не получается. проходит около 7тысяч тактов
между байтами. 2 ожидания (между первым и вторым, а потом вторым и третьим байтами), 14кт. это много. в этом
плане кемпстон мышь несопостовима лучше, проще и удобнее. но когда включаем активный режим работы у компортовой мышки,
то она сразу выигрывает за счёт меньших телодвижений.
что же касается опроса мышки без прерываний, то кемпстон мышь тоже весьма проблемно читать. просто потому, что часть данных
будет теряться. поэтому никто в здравом уме не будет пилить мушку на запрещённых прерываниях.



там вообще ж rst20

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



тоесть софтвари с подключенной стандартной пзу-шкой вообще не адаптировать?

под профи есть адаптированные игры с мсх, с корвета, с роботрона, даже со спектрума с трдоса и с кассет.



Just for fun - это оставим за скобками.

к сожалению нет. историческая справка:
вот краткий список ОСей и ядер, которые существовали/были написаны под z80 (калькуляторы, разные компы и т.д.) как многозадачные:
1. Profi Vision
2. Uzix
3. Fuzix
4. Symbos
5. Contiki
6. KnightOS
7. теперь ещё и NedoOS.
8. даже в рамках этого форума пролетало пара вариаций зачатков RTOS или чего то подобного.
А теперь расскажи о том, какая из этих систем не является just for fun, которая имеет обширную базу пользователей (активных!!!),
кодеров и других деятелей?! " самые громкие системы - Uzix и Symbos. Но даже там нет толп жаждущих пользователей и кодеров. Uzix вообще умерла
в тот день, когда автора системы обокрали в 2001м году. Fuzix туда же - кроме Алана никому она не интересна. Под симбос написали чуть больше софта.
В том числе и "прикладной" (клиент IRC, email (клон outlook)). Браузер тоже там есть. Но воз и ныне там. И самое забавное, что в рамках той же
MSX или Enterprise 128, народ продолжает пользоваться msx-dos 2 и EXDOS. Потому, что многозадачность на наших мелких машинках ником уне нужна.
Это как собаке 5я нога. Только лишний тормоз добавляет. практического применения никакого никогда не было. Даже контики для С64 давно умерла
(и это не смотря на то, что на этой контики крутили демосайт в интернет с Цэшки!) толком не взлетев. На наших машинах более, чем достаточно просто ДОС.
Или, как ты выразился, достаточно одной пускалки, но дос она чуть более умная и даёт чуть больше комфорта, чем пускалка в виде фатала.

Варианты с красивой загрузкой драйверов, точки монтирования, с одной точкой для вызова системы, всё это не для наших слабых машин. это всё не состоятельные
и без жизненные варианты. ЬТы просто переигрался в линукс. Методы и концепция линукса к нашим машинкам тут не применима. Помнится ты запиливал Fuzix
под Эву, но так и не допилил. Что же ты бросил всё? оно как раз соответствует твоим ожиданиям (почти во всём).
Алоний без спорно - Молодец, что взялся за многозадачную ось. Но его начинание так и останется начинанием. просто красивой техдемкой, игрушкой.
Особенно если учесть, что недопилив ядро он уже кинулся переносить прод под ещё не законченную систему (видимо он потом хочет весь этот прод активно
ещё раз переделывать под новые релизы системы).
Особенно если учесть, что ни Димка, ни сам Алоний не блещут желанием разобраться в работе и структуре других осей. что и как у других, почитать
какие то доки. В том числе не хотят разобраться в работе Fat.
Опять-таки, система находится в паблике уже явно больше года. За это время к разработке больше никто не присоединялся, активно прод никто не пишет. всем плевать на недоос. И это не смотря на то,
что Алоний активно её рекламирует и агитирует за неё везде, где только можно, включая утуп и твич. Доброжелатели есть (сочувствующие), но не более того. Вот и ты, как обладатель(?) Эвы затесался в ряды пассивных сочувствующих. А толп юзеров и полчищ кодеров как не было, так и нет.

Точно так же и с переменными окружения.
это с "того" форума. Процесс не должен иметь прямого доступа к переменным окружения, даже если этот процесс унаследовал их. Для этого в системе должны быть соответствующие функции, которые вернуть переменную и значение. например:


Входные значения:
B - номер подфункции
C - 46h
B=0 Получение системного окружения
HL - буфер
B=1 Получить переменную окружения
HL - имя переменной
DE - буфер для значения переменной
B=2 Установить/удалить переменную окружения
HL - имя переменной и значение, разделенные символом '=', (ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ)

Выходные значения:
A - состояние, если CF=0
A=0 - переменная обнаружена
A=0FFh - переменная не обнаружена
DE - указывает на конец буфера
A - код ошибки, если CF=1

NEO SPECTRUMAN
19.11.2020, 09:20
В старых прогах нет мыши. В новых - есть прерывания. Проблемы нет. Или вам надо непременно запустить прогу для 48К, написанную в 85 году и чтобы мышка по верху бегала? Что за бред?
1. что за бред не понимать что старые программы не адаптируют под мышки?
2. практика показывает что новых программ НЕТ


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

да и на фоне биперного компорта в фирменном спектруме :v2_lol:

goodboy
19.11.2020, 10:12
не припоминаю, чтобы на Спектруме при выводе картинок/спрайтов стеком, чтобы параллельно ещё и мышь опрашивалась.
посмотри ЧёрныйВорон, там графика выводится стеком однако прерывания при этом разрешены.
ну и более древние игры commando, zub, amaurote

SfS
19.11.2020, 14:50
1. что за бред не понимать что старые программы не адаптируют под мышки?
2. практика показывает что новых программ НЕТ


Вы хотите сказать АДАПТИРУЮТ (без НЕ) ?

Ну так что мешает адаптатору и прерывания включить ?:)

NEO SPECTRUMAN
19.11.2020, 15:02
Ну так что мешает адаптатору и прерывания включить ?
про всяких черепашок расписано что
для включения прерываний чтоб на них повесить музыку
пришлось переписать вывод графики который усердно юзал стек :)

не это частный случай
но все равно граблей больше

может не быть памяти например

SfS
19.11.2020, 18:41
про всяких черепашок расписано что
для включения прерываний чтоб на них повесить музыку
пришлось переписать вывод графики который усердно юзал стек :)

не это частный случай
но все равно граблей больше

может не быть памяти например

Ну с памятью проблем нет. А в остальном, понятно, что идеальной совместимости никогда не будет

NEO SPECTRUMAN
20.11.2020, 00:20
Ну с памятью проблем нет.
спасибо поржал :v2_lol:

Error404
20.11.2020, 02:25
Возвращаясь к рестартам Z80, с которых понеслась волна - для них действительно можно найти куда более полезное применение, в особенности на системах где используется С с нативным С-компилятором (как на недоОС или например в UZIX). Нет никакого криминала, чтобы работать со всеми вызовами ОС включая расширения через одну точку/рестарт плюс далее по дополнительной таблице (не так часто процесс лезет в ядро), а вот куда действительно нужны однобайтовые коды вызова подпрограмм - так это в кодогенератор С. Посмотрите например код любого нативного С Z80 работающий с long (32 бита - это и IP и FAT и большинство прочих портов с "больших систем") - он очень плотно набит однотипными call, которые так и просятся под переделывание на rst. Тут на ровном месте и выигрыш по объему и по скорости будет заметный - думаю процентов 5-10 на ровном месте. Легко можно задействовать до пяти-шести rst даже оставив совместимость с CPM и UZIX (занимающие два первых рестарта).

SfS
20.11.2020, 05:03
спасибо поржал :v2_lol:

Не знал, что ты конь:)
А если серьёзно - то какие проблемы на пентеве с памятью для 48-128к программ?

SfS
23.11.2020, 07:01
Мда... Системный подход не востребован в спектруме)

SfS
24.11.2020, 10:45
Тут http://forum.nedopc.com/download/file.php?id=2297 моё видине ОС (пока в общем).. Эх, давно я концепций не писал)))

Sayman
24.11.2020, 13:56
SfS, Ответь на вопрос для себя и для всех остальных - для чего тебе на Спектруме и/или клонах многозадачная ОС? тебе простого ДОС`а мало? Какая практическая польза от многозадачной ОС? Какие задачи ты собираешься решать работая каждый день в этой ОСи? Фотошоп параллельно ютупу?
попробуй покачать в недооси через wget что-то тяжёлое, в несколько мегабайт (больше, чем объём ОЗУ раза в 2 хотя бы), поработай при этой с другими задачами (граф.редактор, IRC клиент или ещё что-то). Потом приходи и расскажи как тебе понравилось это всё. Алоний на днях выложил у себя очередной ролик с рекламой недооси. после запуска анимированной гифки смотреть на "это" без слёз не возможно. И это простая задача - проиграть циклично анимацию на фоне (без вывода на экран). А когда начнётся активность на дисках, будет ещё веселее (нет, печальнее).

SfS
24.11.2020, 16:01
Если ты про запускалку игрулек с возможностью грузиться с фат, то это не ос и это уже есть.

Мне это ИНТЕРЕСНО. Как и Alone. Если делать ОС, то это должна быть именно ОС, а не полуработающая заготовка...

Sayman
24.11.2020, 16:08
Если ты про запускалку игрулек с возможностью грузиться с фат, то это не ос и это уже есть.

пройди с этими словами на msx.org и скажи им там, что msx-dos 2 это тупая пускалка, что они там все дураки, раз не хотят гонять Симбос. Посмотрим как долго твой акк после этого там проживёт)))

SfS
24.11.2020, 16:16
пройди с этими словами на msx.org и скажи им там, что msx-dos 2 это тупая пускалка, что они там все дураки, раз не хотят гонять Симбос. Посмотрим как долго твой акк после этого там проживёт)))

Вам надо, вы и идите. У всего разные задачи. Для пуска игр и программ меню Пентевы хватает более чем. Но мне хочется именно многозадачности и функциональности.

Sayman
24.11.2020, 16:45
Вам надо, вы и идите. У всего разные задачи. Для пуска игр и программ меню Пентевы хватает более чем. Но мне хочется именно многозадачности и функциональности.

для запуска каких программ хватает ERS? это те которые в TRD образах и на tr-dos дискетках?
При этом ты утверждаешь:

мне хочется именно многозадачности и функциональности.
хотя ты так и не ответил:

для чего тебе на Спектруме и/или клонах многозадачная ОС? ... Какая практическая польза от многозадачной ОС? Какие задачи ты собираешься решать работая каждый день в этой ОСи? ...
при этом ты так же будешь продолжать пускать от туда trd образы. что для тебя там измениться? или ты напишешь крутую игру которая будет занимать 100 мегабайт? даже в недооси такого ничего нет. если ограничиться тлько режимом 128к и образами trd, то ers достаточно. если хочется более удобно работать с файлами, каталогами, винтами, сд картами и даже с сетью, представляешь, многозадачная ос не требуется. коллеги по msx сидят в своём досе (как ты говоришь, пускалке) и всё там прекрасно работает и главное быстро и удобно. а вариант очередной fuzix (которую ты описал в своём OpenDocument) никому не нужен.
помнится Савелий желал на атм портировать msx-dos, чё-то так и застрял он с ней. вот тут было бы в 100500 раз больше пользы.

Максагор
24.11.2020, 16:47
пройди с этими словами на msx.org и скажи им там, что msx-dos 2 это тупая пускалка, что они там все дураки, раз не хотят гонять Симбос. Посмотрим как долго твой акк после этого там проживёт)))

SymbOS отличная вещь. Что касается NedoOS, то яудивляюсь, как "группа любителей CP/M и CP/M-моподобных ОС (к которой, несомненно относится MSX-DOS) и хаятелей всего, что на них непохоже" (ц) проглядели, что NedoOS как раз и сделана НА ОСНОВЕ CP/M и MSX-DOS - каждая отдельная задача обращается к системе через адрес #0005, а функции, вызываемые через этот стандартный вход, на 2/3 повторяют функции CP/M и MSX-DOS (поэтому софт с этих систем очень легко адаптировать, а простые программульки (уровня командной строки) могут и так запуститься), а оставшаяся треть - это как раз дополнительныек функции по управлению задачами, менеджером страниц ОЗУ и т.д. (т.е. это CP/M и MSX-DOS "задачи", управляемые менеджером задач). Впрочем, они в своем репертуаре...


Вам надо, вы и идите. У всего разные задачи. Для пуска игр и программ меню Пентевы хватает более чем. Но мне хочется именно многозадачности и функциональности.

Достойный ответ. Мой совет, не тратьте время попусту на бесполезные резговоры и пустопорожнюю болтовню с ее любителями. Гораздо продуктивнее продвигать ваши предложения на самом форуме разработчиков, которые вы уже там запостили, и которые я в целом поддерживаю.

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


помнится Савелий желал на атм портировать msx-dos, чё-то так и застрял он с ней

Наработки Савелия по MSX-DOS легли в основу NedoOS, которая, как я упомянул уже, построена на основе дополненого функционала и структуры CP/M и MSX-DOS.

NEO SPECTRUMAN
24.11.2020, 16:53
функции, вызываемые через этот стандартный вход, на 2/3 повторяют функции CP/M и MSX-DOS
при этам аффтар говорит что надо бы потом оно выпилить
или же если на оборот если понадобиться бОльшая совместимость допилить
сплошная неопределенность

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


Наработки Савелия по MSX-DOS
а дето можно с ними ознакомится?
в плане сорцов

за одно вопрос а как запускать тот мсх дос что лежит на http://atmturbo.nedopc.com/ ???

Sayman
24.11.2020, 16:55
Максагор, ты в который раз путаешь понятия или поменяешь их. Адаптация и совместимость суть разные вещи/понятия. Желаю тебе удачи в запуске цпм софта под недоосью. Call 5 это единственное в чём недоось похожа на цпм. А адаптировать цпм софт можно под что угодно. На спринтере нет цпм. Но туда адаптировали solid c, m80, l80 и ещё какую то петрушку. ВНЕЗАПНО, Estex не базируется на цпм и даже рядом не совместима.

Максагор
24.11.2020, 17:04
Максагор, ты в который раз путаешь понятия или поменяешь их. Адаптация и совместимость суть разные вещи/понятия. Желаю тебе удачи в запуске цпм софта под недоосью. Call 5 это единственное в чём недоось похожа на цпм.

Могу только посоветовать изучать набор функций NedoOS. И самому позапускать оттуда программы. Это единственный подход, который я бы не назвал "ламерским".
И да, просьба не путать такие понятия как "является CP/M" и "сделана на основе CP/M". В свое время я пытался интереса ради запускат софт с MSX-DOS на CP/M с плачевным результатом (естественно, я не задавался целью поперезапускать вообще все). Есть понятие тождественности.



при этам аффтар говорит что надо бы потом оно выпилить

Но не выпилил. А говорил так, потому что не хватало места некоторым задумкам автора (в регистре C, через который передаются номера функций, как известно, только 256 значений). Но обошлось. Очень странно где-то выискивать фразы, сказанные в процессе размышлений над перспективами разработок, и к ним цепляться.



а дето можно с ними ознакомится?
в плане сорцов

Вопрос к Савелию. Сырцы NedoOS при этом доступны. Доки по функциям тоже. Да, кстати, я лично видел запуск савелиевской версии MSX-DOS на ZX-Evolution. Но право Савелия было октазаться от окончательной доводки сабжа до "товарного состояния" и пуска наработок на NedoOS...

P.S. В любом случае, хотя я сам не являюсь непосредственным разрабом NedoOS и "рьяным фанатом", не могу не отметить путопорожность и тенденциозность здешних рассуждений. И могу заверить, что мнения здешних "обсуждателей" (кроме SfS, у которого есть конкретные мысли и предложения, которые он помимо этого форума, излагает с сооветствующей форме и на соответствующей площадке) не имеют ни малейшего шанса быть как-то учтены или восприняты разработчиками за их полной бесполезностью для дела.

NEO SPECTRUMAN
24.11.2020, 17:22
а простые программульки (уровня командной строки) могут и так запуститься)
из спортивного интереса
закинул жменю цпм-ных софтварей
и
или ничего вообще не происходит
или все зависает

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


учтены или восприняты разработчиками за их полной бесполезностью для дела.
кстате буцните этих разработчиков
чтоб во время запуска выводили СРАНЫЙ НОМЕР ВЕРСИИ СВОЕЙ .... ОС
как это иногда делается

...ну и может дату выпуска
тк по номеру может быть не очевидна свежесть

...а то чую они быстрей додумаются рисовать котов чем до этого

SfS
24.11.2020, 17:29
Гораздо продуктивнее продвигать ваши предложения на самом форуме разработчиков, которые вы уже там запостили, и которые я в целом поддерживаю.

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

Максагор
24.11.2020, 17:31
за одно вопрос а как запускать тот мсх дос что лежит на http://atmturbo.nedopc.com/ ???

Вот это конкретный и полезный вопрос!

Данный MSX-DOS был "заточен" под РАННИЕ версии ATM-turbo 2 (которая без "плюсика") плат v6.05 и v6.1A, которые производились не МикроАРТом, а непосредственно фирмой АТМ, после того как они взаимно друг с другом расплевались и разошлись по разным юр.лицам. При этом каждое "юр.лицо" в пику друг другу делали версии ATM, "несовместимые" друг с другом - "несовместимость" была заложена в "секретной" прошивке ПЛМ 1556ХЛ8 (на тот момент прошивка держалась в секрете обоими фирмами, а считывание ее из ПЛМ было невозможно), на основе параметров спец-сигналов прошивки (прежде всего сигнал Z), по которому вычислялся код для "расксорки" собственно системы, лежащей в ПЗУ, при ее копировании в ОЗУ (изначально это ввели еще в ATM-turbo 1 для. как говорилось во всех мануалах, "от защиты от пиратского копирования плат").
Плюс могу добавить, что "железо" ATM-turbo 2+ в части диспетчера памяти (который расширен с доступа к 512Кб на платах v6.xx до доступа к 1024Кб на платах v7.xx)и контроллера PC/XT-клавиатуры несколько отличается от ATM-turbo 2 (обоих версий) и тоже может сказаться на "запускаемости". Между тем современные эмуляторы эмулируют именно 2+. Посему пока что предпринимаемые попытки полноценно запустить на эмуляторе MSX-DOS для платы v6.1A дают лишь посредственные результаты. В экспериментах (в которых через монитор эмулятора подставлялись разные значения для расксорки и значения портов) удавалось выйти в "запуск системы", но на уровне теста доступного ОЗУ (когда выскакивали информационные надписи и проч.) все заканчивалось. Пока что работы в этом направлении приостановлены. Но принимается любая помощь в "расшифровке" и восстановлении работоспособности этой ПЗУшки. Хотя бы для истории.

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


чтоб во время запуска выводили СРАНЫЙ НОМЕР ВЕРСИИ СВОЕЙ .... ОС

Согласен, надо попинать.

NEO SPECTRUMAN
24.11.2020, 17:32
Но обошлось. Очень странно где-то выискивать фразы, сказанные в процессе размышлений над перспективами разработок, и к ним цепляться.
ну там аффтар настрочил 100500 видев
вместо того чтобы написать читаемым текстом...
поэтому...


а так если совместимость с цпм-ами сделают на должном уровне
то это уже не будет ОС для совместимости АТМ-а с АТМ-ом
хотя цпм тоже никому не нужен :)

Максагор
24.11.2020, 17:34
чтоб во время запуска выводили СРАНЫЙ НОМЕР ВЕРСИИ СВОЕЙ .... ОС

Согласен, надо попинать.


пройди с этими словами на msx.org и скажи им там, что msx-dos 2 это тупая пускалка, что они там все дураки, раз не хотят гонять Симбос

Кстати, вопрос ради академического интереса:

А что, среди MSX-фанов идет холивар MSX-DOS vs SymbOS? Просто я реально не знаю. Просветите кто-нибудь. А если есть ссылки на холивары, то будет ему респект (а если холивар еще и русскоязычный, то респект в квадрате).

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


ну там аффтар настрочил 100500 видев
вместо того чтобы написать читаемым текстом...
поэтому...

За что аФФтар уже неоднократно был побит ногами ("фигурально") в т.ч. вашим покорным слугой. И обещал исправиться. Ждем-с...

goodboy
24.11.2020, 17:40
вот про SymbOS на русском https://idpixel.ru/news/983-intervju-s-jernom-proda-sozdatelem-symbos-i-retroentuziastom/es/

NEO SPECTRUMAN
24.11.2020, 18:25
надо попинать.
мож еще попинать за меня :)

например в командере кнопки вправо влево простаивают
а на них можно было продублировать page up\page down
или например сделать переход между панелями

Максагор
24.11.2020, 18:27
Что такое SymbOS я знаю. Поэтому по данной ссылке мало нового узнал. Но вот про потенциальный холивар между фанами MSX-DOS и SymbOS почитать очень хотелось бы, если, конечно, такой холивар вообще имеет место быть...

Sayman
24.11.2020, 19:06
Могу только посоветовать изучать набор функций NedoOS.
1. Могу только посоветовать изучать набор функций NedoOS.
2. дословная цитата автора недоос:

12.10 14:49 DimkaM: Sayman, дык недоось больше несовместима с цпм

10.10 09:52 ax: цпм нужен для адаптации прог из цпм

12.10 15:54 ax_: цпм проги выводить на экран не могут, потому что не включили никакой видеорежим
3. я давно это всё проверил, поэтому мои высказывания имеют под собой основания.

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

В свое время я пытался интереса ради запускат софт с MSX-DOS на CP/M с плачевным результатом
а софт для win x64 под ms dos не пробовал запускать, случаем?

в регистре C, через который передаются номера функций, как известно, только 256 значений
в недооси на текущий момент использовано около 73 кодов для функций. 183 функции можно ещё запилить (пилить и пилить и перепилить). а если выкасить функционал cpm (который тут всё ровно не к спеху ибо совместимости нет), то освободится ещё 11 функций. функционал msx dos реализован даже в ещё меньшем виде, чем cp/m.


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

для чего тебе на Спектруме и/или клонах многозадачная ОС? ... Какая практическая польза от многозадачной ОС? Какие задачи ты собираешься решать работая каждый день в этой ОСи? ...
когда дадите ответ на этот вопрос, можно можно будет с вами об чём-то разговаривать. а пока всё о чём вы говорите, это "дайте мне новую демку, а то мне скучно".

среди MSX-фанов идет холивар MSX-DOS vs SymbOS?
таких холиваров там отродясь не было и быть не может. господа там просто берут и пользуют msx-dos 2 и Nextor 2 (полуофициальное обновление для msx-dos 2 на базе авторских исходников). им там никакие фузиксы на пару с Симбосами никуда не упёрлись.
любая многозадачная ос на z80 не более чем техдемка, игрушка. на пару вечеров "погонять", удалить и забыть.
хотя конечно, чисто just for fun, почему бы и нет, хобби же.


а простые программульки (уровня командной строки) могут и так запуститься)
вот это вообще бугага. lzh.com простая текстовая утилита? hi tech c простая текстовая утилита? есть такие текстовые утилиты, от сложности которых у тебя мозги расплавятся. причём тут уровень "командной строки" вообще?

NEO SPECTRUMAN
24.11.2020, 19:24
любая многозадачная ос на z80 не более чем техдемка, игрушка. на пару вечеров "погонять", удалить и забыть.
хотя конечно, чисто just for fun, почему бы и нет, хобби же.
вангую что всякий там алоний теперь все свои поделки будет писать под свою ос...
...смысле теперь это будет средством запуска алониевских поделок :v2_lol:

Sayman
24.11.2020, 19:30
NEO SPECTRUMAN, мне пофиг. у меня и эвы то нет.
он там в чате предлагал на Спринтер портировать недоось - нафиг нафиг... такого нам не требуется.

SfS
25.11.2020, 05:10
Кстати, а почему SymbOS не портировать? Готовое решение всё же. Я просто не в курсе насколько это сложно. UZIX я на пентеве запускал после подпиливания некоторого. Но он сырой совсем.

NEO SPECTRUMAN
25.11.2020, 05:26
Кстати, а почему SymbOS не портировать?
на сколько помню я
аффтар не делится исходниками
а так требуется уточнение

SfS
25.11.2020, 05:28
на сколько помню я
аффтар не делится исходниками


А.. Понятно. Ну тогда только писать своё, если хочется...

Честно говоря, не понимаю людей, свято скрывающих хобби-исходники некоммкрческие.

Ну помрёт он и всё? Все его творения помрут вместе с ним? Ну или не помрёт - потеряет...

marinovsoft
25.11.2020, 06:21
Может там *****код, а авторам стыдно.

SfS
25.11.2020, 06:38
http://forum.nedopc.com/download/file.php?id=2298

Добавил чуток.

Можно приступать к экспериментам потихоньку :)

Правда, я не мазохист - писать всё на асме. Это долго и часто - бессмысленно.

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


Может там *****код, а авторам стыдно.

Стыдливые какие) Особенно, если система работает и работает хорошо - чего стесняться то?
Интернет-эксперды обосрут всё и всегда. Так что просто не обращать внимания.

Sayman
25.11.2020, 07:35
Кстати, а почему SymbOS не портировать?
1. нет исходников.
2. автор жмот и русофоб (он не хотит, чтобы Симбос работала на Русских машинах).
3. можно попробовать в дизасм, но это тяжкий труд. кода там оверодохрена, как и всяких переменных. там можно заблудиться. я пробовал, но забросил. не продуктивно это, а времени жрёт прилично.

Правда, я не мазохист - писать всё на асме.
ты уже прбовал писать на си, тоже ничего не вышло. для тебя есть uzix и fuzix. допиливай, выпускай релиз...

кстати, процессы в Симбосе тоже всегда 64к минимально.

SfS
25.11.2020, 08:11
3. можно попробовать в дизасм, но это тяжкий труд. кода там оверодохрена, как и всяких переменных. там можно заблудиться. я пробовал, но забросил. не продуктивно это, а времени жрёт прилично.

Прости, но дизасм это чушь. Ну чего он такого написал, что быстрее дизасмить, чем написать заново?

Можно даже на С писать для скорости, а потом уж чего надо асмовыми вставками добить. Кстати, если делать текстовый редактор, например, - то на С куда быстрее, чем на АСМе, а быстродействие и объём ухудшатся незначительно.

Sayman
25.11.2020, 08:27
Ну чего он такого написал, что быстрее дизасмить, чем написать заново?
если нужна совместимость с софтом для Симбос, то только дизасм, т.к. сам ты такое же не напишешь (и я не напишу и алоний не напишет). если совместимость пофиг, то да, можно и с нуля своё запилить. но без всяких сей.
про размер и быстродействие - ухудшится и значительно.

SfS
25.11.2020, 08:42
если нужна совместимость с софтом для Симбос, то только дизасм, т.к. сам ты такое же не напишешь (и я не напишу и алоний не напишет). если совместимость пофиг, то да, можно и с нуля своё запилить. но без всяких сей.
про размер и быстродействие - ухудшится и значительно.

Совместимость изначально нафиг.

Что касается "безо всяких сей" - ты не прав. Скажем, загрузчик. Ну на кой его на асме писать? Или текстовый редактор. Размер - тоже не так критичен. Будет у тебя программа 10к или 12к занимать - какая разница, если у тебя всё равно для неё 16К предусмотрено?
Да много ещё там некритичного есть.

Ты взгляни вот с какой стороны:
Есть, например, какая подсистема (модуль то есть. у нас же всё модульное в идеале).
Ты можешь условно писать его месяц на асме или 3 дня на С. Да, на С он будет на 20% медленнее и на 20% объёмнее. Зато ты получишь его за 3 дня вместо месяца и займёшься другими делами.

Вообще я за смешанный подход: структуры данных удобнее на С описывать, а критичные места на АСМе.

Но если очень хочется, то можно наш условный модуль и на асме переписать потом (ну захочется кому-то, мало ли).

Любовь писать "всё на асме" порочна тем, что вылизывая какую-нибудь мелочь месяцами не видят больших проблем системы в целом.

Sayman
25.11.2020, 09:00
не знаю о чём ты говоришь. писал я fdisk на сях. сейчас даже править его нет желания. функционала минимум, но при этом весит почти 10кб. сейчас пишется новый fdisk на асме. функционала в разы больше, но весит всё так же 10кб. да и пишется весьма бодро. осталось пара функций вкарячить. протестить и можно в паблик кидать. а на сях старый fdisk грустное зрелище какое-то. если прикрутить функционал нового fdisk на сях, то его размер сразу будет килобайт под 40. вон, в недооси, фдиск вообще пустой, ничего не умеет, а 47кб как с куста. вот тебе и си. печальное зрелище.
си хорош на больших машинах. где много памяти, быстрый проц и т.д. а тут сплошные стек, индексные регистры. тем более, что адекватных компиляторов как ни крути таки нет под z80. боюсь заплевать монитор.

SfS
25.11.2020, 10:26
не знаю о чём ты говоришь. писал я fdisk на сях. сейчас даже править его нет желания. функционала минимум, но при этом весит почти 10кб. сейчас пишется новый fdisk на асме. функционала в разы больше, но весит всё так же 10кб. да и пишется весьма бодро. осталось пара функций вкарячить. протестить и можно в паблик кидать. а на сях старый fdisk грустное зрелище какое-то. если прикрутить функционал нового fdisk на сях, то его размер сразу будет килобайт под 40. вон, в недооси, фдиск вообще пустой, ничего не умеет, а 47кб как с куста. вот тебе и си. печальное зрелище.
си хорош на больших машинах. где много памяти, быстрый проц и т.д. а тут сплошные стек, индексные регистры. тем более, что адекватных компиляторов как ни крути таки нет под z80. боюсь заплевать монитор.

Об дуру можно хрен сломать.. Даже SDCC не даёт в среднем код в 4 раза больше, чем ASM.

Sayman
25.11.2020, 10:29
Даже SDCC не даёт в среднем код в 4 раза больше, чем ASM.
да ладно?! ну собери hello world на стоковой либе через printf. 2.5кб с ходу (примерно около того). перепиленная на асм 800байт (примерно, без поддержки перенаправления вывода, с перенаправлением будет ещё больше).
стоковую либу перепиливать надо, а это тоже время. в итоге оно нафиг не надо. уже пробовал, да забросил все эти си. не выгодно.

SfS
25.11.2020, 10:54
да ладно?! ну собери hello world на стоковой либе через printf. 2.5кб с ходу (примерно около того). перепиленная на асм 800байт (примерно, без поддержки перенаправления вывода, с перенаправлением будет ещё больше).
стоковую либу перепиливать надо, а это тоже время. в итоге оно нафиг не надо. уже пробовал, да забросил все эти си. не выгодно.

А зачем я буду ТАК делать? Я что - долбанутый? Я буду выводить hello world через puts(), которая льёт прямо в rst16 :)
Я ж говорю, об дуру можно и хрен сломать. Вывести hello world - это одно. А printf с его форматной печатью всего - это совсем другое...

Фактически сравнение некорректное: Голый простейший цикл на асм и полный printf на С, который тянет и математику и прочее.

Я ж проги на SDCС писал, вижу где там затыки.

Sayman
25.11.2020, 11:17
hello world через puts()
ок. сравниваем:

int puts (const char *s)
{
while (*s)
if (putchar(*s++) == EOF)
return EOF;
return putchar('\n');
}
это из стандартной либы sdcc.

а вот так я делаю это на асме у себя в досе.


ld hl,strHello
ld c,0x5c
rst 0x10

strHello: db "\r\nHello World!!!\r\n",0

разница существенна.

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

NEO SPECTRUMAN
25.11.2020, 11:28
Я ж говорю, об дуру можно и хрен сломать
а как в ваших *****сяпаскалях сделать
вот такой межстраничный переход?

https://jpegshare.net/images/64/52/64522368e18098e2ae57168c2dd57fc2.png
https://jpegshare.net/images/22/a2/22a277cd76fa72acd1ff469a15d95d0c.png

Sayman
25.11.2020, 11:33
вот такой межстраничный переход?
такой финт на сях приведёт к смерти программы, т.к. стек улетит вместе со страничкой т.к. все *****сяпаскали гоняют стек в хвост и в гриву.

NEO SPECTRUMAN
25.11.2020, 11:34
такой финт на сях
не это вопрос к сяктантам
пейсателям на асме все пофиг и они и так знают почаму ся suxx :)

SfS
25.11.2020, 12:18
а как в ваших *****сяпаскалях сделать
вот такой межстраничный переход?


А ты членом гвозди забивать не пробовал?:) Вот вроде ж нормальный человек, а ерунду говоришь. Инструмент надо по назначению использовать.
Сделать его, разумеется, можно с помощью вставки асма и плясок с бубнами для синхронизации адресов. Но ЗАЧЕМ?!
Я нигде не говорил, что НЕ НАДО программировать на асме. Я говорил, что С часто ускоряют разработку. Критичные места на асме пишутся.
Ты же предлагаешь, то весь printf() запихать в память для вывода строчки без формата, то между страницами прыгать где попало и как попало.
Речь идёт о написании ОС. А там вообще не предполагается переключение между страницами вне менеджера памяти. От слова совсем.

Не надо переносить принципы демостроительства на написание системного ПО. Они там не столько бесполезны, сколько вредны.

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


не это вопрос к сяктантам
пейсателям на асме все пофиг и они и так знают почаму ся suxx :)

Поэтому пейсатели на асме никогда не написали ни одной сложной системы:)

NEO SPECTRUMAN
25.11.2020, 12:31
Сделать его, разумеется, можно с помощью вставки асма и плясок с бубнами для синхронизации адресов. Но ЗАЧЕМ?!
затем что ЭТО СПЕКТРУМ ДЕТКА
и тут нет 4...100500 гига адресного пространства чтобы в нем гадить на право налево при помощи своих сей

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


принципы демостроительства
на спектруме или принципе демостроительства
или слоупочество

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


Сделать его, разумеется, можно с помощью вставки асма и плясок с бубнами для синхронизации адресов. Но ЗАЧЕМ?!
в данном случае
адреса 0000...BFFF железно забиты
и кроме того это не переключаемые страницы

щелкаемое окно только одно С000-FFFF
а в 16К весь АСМ-овый код разумеется не влазит
(а что говорить про сяшный?)
и это единственый способ быстро исполнить код в другой странице

и по этой причине
*****я ОСь тут тоже трижды не нужна
(по крайней мере с менеджерами памяти и многозадачностями)

вот тупо пускалка с драйвером дисков и рам дисками есть полезна

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


Поэтому пейсатели на асме никогда не написали ни одной сложной системы
нечего им еще делать
писать какието сложные системы которые нужны только сяшникам :)

SfS
25.11.2020, 12:33
затем что ЭТО СПЕКТРУМ ДЕТКА

*****я ОСь тут тоже трижды не нужна
(по крайней мере с менеджерами памяти и многозадачностями)

вот тупо пускалка с драйвером дисков и рам дисками есть полезна

нечего им еще делать
писать какието сложные системы которые нужны только сяшникам :)

А ты не находишь, что разным людям интересно разное? Если тебе не интересно, как построить ОС - пиши демки. А мне не интересно демки писать.

NEO SPECTRUMAN
25.11.2020, 12:35
Я нигде не говорил, что НЕ НАДО программировать на асме. Я говорил, что С часто ускоряют разработку. Критичные места на асме пишутся.
ну глядя со стороны
пейсатели на сяпаскалях со вставками на асмах
больше пляшут с бубном чтоб вся эта городуха у них работала

изначальное писание на асмах более гибкое

ну а на современных ПЦ-ах с их фпу и осями
код на асме не так и страшно выглядит как на спектрумах

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

SfS
25.11.2020, 12:37
ну глядя со стороны
пейсатели на сяпаскалях со вставками на асмах
больше пляшут с бубном чтоб вся эта городуха у них работала


Не знаю, ни разу не "плясал". В SDCC есть возможность влепить вставки на асме хоть прямо в код. Можешь сам на мои "городушки" взглянуть...

NEO SPECTRUMAN
25.11.2020, 12:41
А ты не находишь, что разным людям интересно разное? Если тебе не интересно, как построить ОС - пиши демки. А мне не интересно демки писать.
ну практика показывает что ваши оси нахрен никому не всрались
все как писали под нативную запускалку образца 86 года так и пишут :v2_lol:

конечно никто их писать не запрещает
но это только трата времени...

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


В SDCC есть возможность влепить вставки на асме хоть прямо в код.
ну до
уровня вставить 3 строчки

а сгенерировать что то серъезное кило на 30 (из 20 строчек кода) это ***** не сможет

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


В SDCC есть возможность влепить вставки на асме хоть прямо в код. Можешь сам на мои "городушки" взглянуть...
мне кажется если я перечислю МОИ требования который должен выполнять асм
и которые с трудом не все выполняет последний sjasm+ADP
то ты быстро поймешь убогость своих сей

SfS
25.11.2020, 12:45
ну практика показывает что ваши оси нахрен никому не всрались
все как писали под нативную запускалку образца 86 года так и пишут :v2_lol:
конечно никто их писать не запрещает
но это только трата времени...


Твои демки кому всрались?) Толку от них ещё меньше)



ну до
уровня вставить 3 строчки
а сгенерировать что то серъезное кило на 30 (из 20 строчек кода) это ***** не сможет

Если мне нужен большой асм, я пишу его в отдельном файле и линкую с Си или использую отдельно - как угодно...
Впрочем, никто и в Си-файле 30К асма не запрещает сделать...



мне кажется если я перечислю МОИ требования который должен выполнять асм
и которые с трудом не все выполняет последний sjasm+ADP
то ты быстро поймешь убогость своих сей

Убогость состоит в том, что мня себя великим гуру ты не взял и не написал АСМ под СВОИ требования:)
Не можешь? Значит не гуру)

NEO SPECTRUMAN
25.11.2020, 13:00
Убогость состоит в том, что мня себя великим гуру ты не взял и не написал АСМ под СВОИ требования
Не можешь? Значит не гуру)

ну асм я не написал
а написал набор макросов под sjasm
чтоб тот компилировал другой асм :v2_lol:

но то фигня...

как осилю сборку sjasm-а буду его пилить под себя
а может проще написать свой и с нуля...
хотя у меня теперь сильная привязаность к встроенной lua
аналогом которой в ваших сях и не пахнет
а как ее пригородить к себе хз...


проблема в том
когда я буду писать это ***** под венду
я не буду писать в это время под спектрум




мня себя великим гуру ты не взял и не написал АСМ под СВОИ требования
Не можешь? Значит не гуру)
тоесть ты ВЕЛИКИЙ мастер уже взял и пишешь под себя сяпаскали?
или своих требований у тебя нет?

кстате еще меня доставляет в ваших сяпаскалях
апсолютная несобираемость кода из коробки
всегда 100500 батников которые ведут друг на друга и передают друг другу парамметры
всегда не найденные пути
туча левых хренмейков которые не работают
и прочее трахомудие

SfS
25.11.2020, 13:10
хотя у меня теперь сильная привязаность к встроенной lua
аналогом которой в ваших сях и не пахнет


Дурачек, сила С как раз в стандартности. А всю обработку-синтез файлов как нефиг делать можно на bash. Ты любитель мегакомбайнов. Это плохо.


тоесть ты ВЕЛИКИЙ мастер уже взял и пишешь под себя сяпаскали?
или своих требований у тебя нет?

Есть и я их реализую. Но для этого не надо менять язык. Он не для того сделан, чтобы в нём ковыряться.


кстате еще меня доставляет в ваших сяпаскалях
апсолютная несобираемость кода из коробки
всегда 100500 батников которые ведут друг на друга и передают друг другу парамметры
всегда не найденные пути
и прочее трахомудие

Не знаю.. Я под разные архитектуры целые операционки собирал "изкаробки"... FreeRTOS, например тот же или Linux. Может просто дело не в Си и не в батниках (фууу.. вендоза... то ли дело bash!)..

NEO SPECTRUMAN
25.11.2020, 13:17
Может просто дело не в Си и не в батниках (фууу.. вендоза...
дело в раскидывании функций одного компилятора на 100500 софтварей
...конечно это вытекло из того что сяпаскали компилятся по 30 минут отжирая всю оперативку на один *****й хеловорд
изза чего пересобирать большой\даже небольшой проект ПОЛНСОТЬЮ для проверки не реально...

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


Не знаю.. Я под разные архитектуры целые операционки собирал "изкаробки".
мне чота вообще не везет в этом плане...
все с пинка и не первого...

SfS
25.11.2020, 13:21
дело в раскидывании функций одного компилятора на 100500 софтварей

Вообщето у компилятора С ровно ОДНА функция - преобразование исходного кода на Си в исходный код на Ассемблере.
Ни препроцессирование, ни ассемблирование, ни лиековка в эти функции не входят. И это правильно.



...конечно это вытекло из того что сяпаскали компилятся по 30 минут отжирая всю оперативку на один *****й хеловорд
изза чего пересобирать большой\даже небольшой проект ПОЛНСОТЬЮ для проверки не реально...

Если твой код требует ПОЛНОЙ пересборки на каждый чих и не побит на модули - то код *****. Я, разумеется не о программах уровня хелловорлд...



мне чота вообще не везет в этом плане...
все с пинка и не первого...

Ну это бывает) Не важно с какого пинка, важно что завелось)

NEO SPECTRUMAN
25.11.2020, 13:23
Ни препроцессирование, ни ассемблирование, ни лиековка в эти функции не входят. И это правильно.
ну а потом сяпаскали слоупочно тормозят...
пущо никакой оптимизации
каждая софтварь(сборщик линковщик компоновщик хрензнаетчтоделовщик) живет своей жизнью
и ничего не знает о результате работы другой софтвари

SfS
25.11.2020, 13:26
ну а потом сяпаскали слоупочно тормозят...
пущо никакой оптимизации
каждая софтварь(сборщик линковщик компоновщик хрензнаетчтоделовщик) живет своей жизнью
и ничего не знает о результате работы другой софтвари

Да чему там тормозить то? В грамотно написаном Makefile пересобираются только те модули, которые были изменены.

Собственно оптимизация кода - это прерогатива компилятора. Линкер и препроцессор с ассемблером ничего не оптимизируют.

Sayman
25.11.2020, 13:31
Поэтому пейсатели на асме никогда не написали ни одной сложной системы
чё блэт?
https://www.meme-arsenal.com/memes/972802eb59ca9fbc6b9d3635662cb211.jpg
msx-dos 2 не сложная система? напиши аналогичную на своём sdcc. когда сделаешь, поговорим.

сила С как раз в стандартности
Доооо, SDCC прям такой мегастандартный, что аж писец.

Я под разные архитектуры целые операционки собирал "изкаробки"... FreeRTOS, например тот же или Linux.
под Z80? , что вы говорите, под АРМы? форумом не ошибся случаем, хвастать сборку линуксов под армы/x86_64?
Сходи Uzix/Fuzix собери под эву. только не как в прошлый раз из говна и палок, а по нормальному, как ты в своих писульках описываешь.

Ни препроцессирование, ни ассемблирование, ни лиековка в эти функции не входят.
только у каждого "транслятора си" в комплекте свой компилятор асма и никакой более другой синтаксис не переваривает.

SfS
25.11.2020, 13:31
Собственно, главная фишка в том, что можно на любой стадии воткнуть что-то своё (например ещё один свой препроцессор) и обработать код как надо.

NEO SPECTRUMAN
25.11.2020, 13:35
Да чему там тормозить то? В грамотно написаном Makefile пересобираются только те модули, которые были изменены.
смысле про готовый код

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


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

Sayman
25.11.2020, 13:37
Собственно, главная фишка в том, что можно на любой стадии воткнуть что-то своё (например ещё один свой препроцессор) и обработать код как надо.

да и желающих делать это прям толпы. и ты сам наверное уже с десяток вариаций препроцессора напилил. ты тему то не меняй - пиши новую ос aka linux для эвы. со всеми шлюхами и блетджеками)))
ах да. совсем забыл, это две мои излюбленные темы по части sdcc - ссаные решоточки для обозначения чисел на асме и, конечно же - компиляция сроком в пару столетий простого кода...

SfS
25.11.2020, 13:43
чё блэт? msx-dos 2 не сложная система? напиши аналогичную на своём sdcc. когда сделаешь, поговорим.

Ты уже написал?) Нет?) Ну так и не выделывайся) MSX-писатели не гонят на Си, они просто работают.


Доооо, SDCC прям такой мегастандартный, что аж писец.

ANSI


под Z80? , что вы говорите, под АРМы? форумом не ошибся случаем, хвастать сборку линуксов под армы/x86_64?

Какая разница? Там речь не шла про платформу.


Сходи Uzix/Fuzix собери под эву. только не как в прошлый раз из говна и палок, а по нормальному, как ты в своих писульках описываешь.

Чем прошлая сборка не устраивает? Тем, что я не посидел и полные 64К не сделал? Но собрал же? Собрал. Чуть подпилил менеджер памяти и взлетело)


только у каждого "транслятора си" в комплекте свой компилятор асма и никакой более другой синтаксис не переваривает.

И свой препроцессор. И что? Кстати, тот же sdcc может в нескольких форматах асма генерить: rgbds / asz80 / isas/ z80asm) :)

NEO SPECTRUMAN
25.11.2020, 13:45
под Z80? , что вы говорите, под АРМы? форумом не ошибся случаем, хвастать сборку линуксов под армы/x86_64?
ну вроде речь шла про сборки современного софта
со всем трахамудием обусловленным тормознутостью сякомпилятора во все времена...

так что про стандартность и з80 компиляторы которые никто уже толком не пишет это мимо...

Sayman
25.11.2020, 13:56
Ты уже написал?) Нет?) Ну так и не выделывайся)
сам не написал, я взял исхоник, причесал его и внёс гору исправлений в нужной дос. и кроме этого с десяток утилит под неё написал или портировал/адаптировал, включая сишные и асмовые. как выглядит дос (в том числе msx-dos) изнутри знаю получше тебя.

ANSI
ANSI там только на бумаге, по факту то, что компилит ANSI, sdcc давится на пустом месте.

Какая разница? Там речь не шла про платформу.
как уже заметил нео, разница в гигагерцах и гигабайтах.

Чем прошлая сборка не устраивает?
тем, то не сборка то была, а незаконченный полуфабрикат не готовый к каждодневному употреблению. её состояние было ещё хуже. чем у сабжа.

Чуть подпилил менеджер памяти и взлетело)
ничего там не взлетело. всё виснет при малейшем шорохе.

SfS
25.11.2020, 14:06
сам не написал, я взял исхоник, причесал его и внёс гору исправлений в нужной дос. и кроме этого с десяток утилит под неё написал или портировал/адаптировал, включая сишные и асмовые. как выглядит дос (в том числе msx-dos) изнутри знаю получше тебя.

"Знаю как выглядит" и "написал" - очень разные вещи:)


ничего там не взлетело. всё виснет при малейшем шорохе.

Но собралось же?) Собралось. А то, что она сырая - не мои проблемы были) Я поигрался и всё.

goodboy
25.11.2020, 14:12
пейсатели на асме никогда не написали ни одной сложной системы
а я кому выше давал ссылку на рассказ об SymbOS ?

Sayman
25.11.2020, 14:14
Я поигрался и всё.
ну вот, это та фраза, которую я так долго ждал. с недоос будет та же петрушка - поигрался и забыл. и так не только у тебя, у всех.


а я кому выше давал ссылку на рассказ об SymbOS ?
да это бесполезно. он толи спецом игнорит толи как...

SfS
25.11.2020, 14:17
а я кому выше давал ссылку на рассказ об SymbOS ?

А там исходники закрыты:) Кто его знает что там внутрях?:)

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

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


ну вот, это та фраза, которую я так долго ждал. с недоос будет та же петрушка - поигрался и забыл. и так не только у тебя, у всех.

Так это вообще с 8битками так будет рано или поздно)) Хобби же.


да это бесполезно. он толи спецом игнорит толи как...

Вы шутки юмора не понимаете чтоли?:) Крикуны - фанатики, блин.. Ой, асм обидели)))

Eltaron
25.11.2020, 14:36
Кстати, тот же sdcc может в нескольких форматах асма генерить: rgbds / asz80 / isas/ z80asm
Это выглядит как рудимент, который авторам лень выпилить. Я когда последний раз с этим игрался, постоянно всё сводилось к тому, что в код для z80asm попадают asz80-чные конструкции, и он становится невалидным. И peephole оптимизации все тоже только под asz80 заточены.

NEO SPECTRUMAN
25.11.2020, 15:33
ANSI там только на бумаге, по факту то, что компилит ANSI, sdcc давится на пустом месте.
ну а так если подумать
это у z80 "идеальный" асм
у арм-а более менее вменяемый асм

если взять какую нибудь мерзозсть типа
8080 с его ldax e suxx h srjhax b для одинаковых команд
6502 с его полтора регистрами и теме же пиктограммами типа stx mvy mnх и всякое #$@ вместо людских скобочек
или какуето хрень с восьмеричными цифрами

то и становитсо есно чего много кто ТУПО НИАСИЛИЛ асм а теперь пиарит свои *****сяпаскали

да и х86 то еще поделие
команды под х64 вообще не читаемые
какой то логики в расширении набора команд не видно

да и сегментная адресация со времен 8086 описана на столько плохо
что с ходу с ней вообще не хочется связываться
хотя если раздуплить там все элементарно (только не ясно нахрена И КОМУ оно надо именно с точностью до 16 байт)
тоже как всегда горе железятники пилили находясь на своей железятной волне

...
да и зелоги просрали все полимеры в более новых процах
и все уже не так красиво и логично...

вотто и понавыдумывали всяких сяпаскалей факк-алл-ов и прочих ГЯВУ

SfS
25.11.2020, 16:57
Это выглядит как рудимент, который авторам лень выпилить. Я когда последний раз с этим игрался, постоянно всё сводилось к тому, что в код для z80asm попадают asz80-чные конструкции, и он становится невалидным. И peephole оптимизации все тоже только под asz80 заточены.

Так оно реально и не нужно. Но есть

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

В общем тема съехала с ОС на крутых асмо*****кодеров....

NEO SPECTRUMAN
25.11.2020, 17:13
В общем тема съехала с ОС на крутых асмо*****кодеров....
а чего ты хотел?
тут каждая тема скатывается в обсуждение всего чего угодно

да и кому нужна это *****я оэс когда можно обсуждать выращивание фиников?

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


тема съехала с ОС
ну и топик стартер не направляет обсуждение в нужное русло
была бы это тема какого нибудь максагора
он бы сказал "это тема только для новостей\релизов идите все нафик от сюда" :)

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

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

goodboy
25.11.2020, 18:31
ну и риторический вопрос - "что эта тема делает в zxspectrum software ?

SfS
25.11.2020, 19:32
ну и риторический вопрос - "что эта тема делает в zxspectrum software ?

Это лишь её создатель знает. И то не факт.

NiKa
12.08.2022, 09:53
Не получается установить NedoOS на Flash IDE Module, hddfdisk его не видит.

Kulich
12.08.2022, 11:38
Не получается установить NedoOS на Flash IDE Module, hddfdisk его не видит.
Что за модуль? Что за флэш? Что за компьютер?

NiKa
12.08.2022, 12:31
Это модуль флэш памяти с разъемом IDE, компьютер ZX-Evo, система с него запускается через cd_boot, а вот загрузочным сделать не могу.

Kulich
12.08.2022, 21:29
Это модуль флэш памяти с разъемом IDE, компьютер ZX-Evo, система с него запускается через cd_boot, а вот загрузочным сделать не могу.

А должно бы с HDD) вообще на Эво не принято ставить nedoOS на HDD, с SD, а с hdd запускают просто нужную хобету. То что не видит его хддфдиск странно

NiKa
26.08.2022, 17:55
Ну ладно nedoOS на HDD я установил, запустил и на радостях скопировал с SD карты программы в формате tr-dos на жесткий диск, но тут меня ждал сюрприз - ни одна программа не работает.
Это что так и должно быть в nedoOS, тогда не понял а для чего она?

Black Cat / Era CG
26.08.2022, 18:47
SD карты программы в формате tr-dos на жесткий дискПрограммы или образы?

NiKa
27.08.2022, 04:27
Образы.

Kulich
27.08.2022, 07:24
а в чем собственно выражается неработоспособность? Откуда монтируете образ, с некокорых носителей типа USB flash оно не монтирует образ. Делов там нажать энтер на нем и все. Ну и в целом не для монтироавания образов она, хоть и удобно сделано там это.

NiKa
27.08.2022, 09:01
Дальнейшие эксперименты показали, что NedoOS тут не причём. Установка с жесткого диска trd образов в виртуальный привод ZX-Evo делает их нерабочими.

Kulich
27.08.2022, 13:07
Определённо что-то не так, там на Эво есть варианта монтироавания, через рам диск и через винт, можешь попробовать поиграть с ключиками dmm.com

NiKa
28.08.2022, 05:22
поиграть с ключиками dmm.com
Это как, можно подробнее?

SfS
14.09.2022, 19:29
Захотелось мне Nedoos из исходников собрать. Последнюю версию.

Залез я сюда: http://nedoos.ru/svn/
Выкачал исходники.

Почитал README.linux.

Набрал make clean clean-release
Всё зашибись.

Пересобрал tools.

Набрал make evolutin

Получл: sys_h.asm(1): error: [OPT] invalid/failed option: -Wno-rdlow

Ещё там нет каталога smb (игруха какаято), ну да бог с ней.

Если в файле закомментировать option -Wno-rdlow, то валятся другие ошибки.

Вопрос - что я делаю не так?

Или просто тулзы не обновлены в репе?

Black Cat / Era CG
14.09.2022, 23:09
Надо спрашивать у Алона. Его здесь нет.

SfS
15.09.2022, 14:42
Надо спрашивать у Алона. Его здесь нет.

А где он есть, если это известно?

yarodin
15.09.2022, 15:37
А где он есть, если это известно?

https://discord.gg/wDF65QQr

Black Cat / Era CG
15.09.2022, 17:23
А где он есть, если это известно?Да, в дискорде он, либо по почте, либо на их форуме или ирке. Тут контакты есть http://nedoos.ru
Могу спросить чето, если надо. Но он на этот форум не заходит из "религиозных" убеждений, как и в телегу.

SfS
16.09.2022, 08:00
Уже сам спросил:) спасибо
Заодно дискорд поставил. Прикольный месменджер.
И никто не кричит из-за того, что чье-то ущербное самолюбие задето:)

Black Cat / Era CG
16.09.2022, 08:38
И никто не кричит из-за того, что чье-то ущербное самолюбие задетоМ?

SfS
16.09.2022, 09:59
Да это я так. Не обращай внимания)