nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 05:43



This topic is locked, you cannot edit posts or make further replies.  [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
ОС Collapse on Z80 
Author Message
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post 
Если не считать доказанным, что в постапокалиптическом мире легче всего будет раздобыть процессор Z80, то DOS и все прикладные программы разумно писать на ЯВУ и заранее их странслировать под все ходовые типы процессоров и микроконтроллеров и поместить их во все китайские библиотеки в виде дампов. Но сама идея, что после катаклизма будут востребованы в первую очередь простые процессоры верна.

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

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

Оставшаяся высокоинтегральная электроника будет дохнуть от времени пропорционально её степени интеграции. Об этом можно судить по сохранности ОЗУ. 4116 выпуска 1979 года и спустя 40 лет работают без дохлоты, а 565 РУ7 выпуска начала 90-тых почти все сдохли от времени. Так что 8-ми разрядные ретро процессоры прослужат дольше, чем современные многоядерные. Когда через 20 лет после ядерных ударов радиация заметно спадёт и выжившие китайцы вылезут из убежищ, они смогут исправными откопать под руинами лишь Z80 и TTL-микросхемы. Всё высокоинтегральное сдохнет, если не от повышенной радиации, так от времени.

Раз уж постулируется*, что в пост-апокалиптическом мире будут популярны новодельные компьютеры на Z80, то автор этой ОС должен был бы сразу предлагать и компилятор ЯВУ. Ведь без программ какая польза от компьютера? Автор должен предлагать в составе ОС хотя транслятор ассемблера (+ отладчик), - не в машинных же кодах он предлагает писать программы. Если автор не предлагает версии высоко-эффективного компилятора какого-ли ЯВУ, адаптированного под его пост-апокалиптическую ОС, то такая ОС не нужна и даром и на (построенных из электронного хлама откопанного в руинах городов) новодельных компьютерах с Z80 лучше использовать CP/M, т.к под эту ДОС есть самый эффективный для Z80 компилятор - Турбо-Паскаль 3.0. Кстати, современные кросс-компиляторы Си под Z80 может и дают лучший код, чем TP (хотя и это ещё не доказано), но для них необходим IBM PC.

[* постулировать означает - высказывать что-либо в качестве постулата, принимать в качестве исходного положения без доказательств]


01 Nov 2019 17:09
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post Re:
barsik wrote:
Автор должен предлагать в составе ОС хотя транслятор ассемблера (+ отладчик), - не в машинных же кодах он предлагает писать программы.

Прежде чем писать такую ерунду, следовало хотя бы минимально ознакомиться, что предлагает автор: :-?

https://collapseos.org/

_________________
iLavr


01 Nov 2019 17:35
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Post Re:
barsik wrote:
Раз уж постулируется*, что в пост-апокалиптическом мире будут популярны новодельные компьютеры на Z80, то автор этой ОС должен был бы сразу предлагать и компилятор ЯВУ.


Перечитал ветку автора на reddit-е. Когда он выдвигал это тезис то говорил о том что вот уж 40лет из 8-биток производится только Z80. Пока ему не рассказали о 65C02/65C816. Тогда он написал что не знал что не только z80 но и то же 6502 до сих пор производится. Хотя на вопрос что как правило Z80 уже производится в планарных вариантах он так и не ответил. Были и вопросы относительно того что без пайки это все не выдрать, тоже не отвеченные. Видел как довольно свободно использовали контроллер из клавиатуры, но вероятно AT-шной. Это я к тому что скорее всего по распространенности клавиатуры даже AT-шные точно превзойдут имеющийся хлам с Z80. Для меня вопрос откуда в постапокалиптическом обществе будут драть Z80 или 65C02 открытый :)

По поводу ЯВУ, Барсик, застрельщик проекта упирает на то что его ОС может быть оттранслирована (и видимо сконфигурирована) на любой другой Z80-совместимый компьютер, тем мол и ценна. Как мне кажется это означает что исходники ОС находятся в том же ПЗУ/ОЗУ, другие носители не рассматриваются, по крайней мере флеш и IDE-диски. Если хранить исходники в ассемблере Z80 то вероятней всего набежит прилично килобайт, никакие ЯВУ уже не полезут. Ассемблер, как мне кажется, имеет малую "ликсическо-синтаксическую плотность". Боюсь ошибиться но самая высокая плотность в этом случае у стековых языков, и автору уже неоднократно успели заметить о том что Forth был бы предпочтительней.


01 Nov 2019 22:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Несмотря на то, что я сам на старте этого топика кивнул в сторону CP/M, надо сказать, что CP/M - это
в общем-то даже не MS-DOS, и ожидать от неё многого с современных позиций чревато разочарованием.

Я неоднократно писал на этом форуме, что у меня с моим другом была купленная СР/М с компилятором
BASIC. Может быть были и другие компиляторы в купленном нами пакете, но я тогда ничего другого
не умел. Собственно, и купили мы СР/М в основном из-за компилятора BASIC.

И вот тут нас разочарование и подстерегло! СР/М - система текстовая, буквы в ней были только
латинские заглавные, BASIC её никакого представления о графических операторах не имел. :osad:

Для "Специалиста" с графическим экраном и практически любыми шрифтами это выглядело очень и
очень убого. :-?

Возможно, автор Collapse OS с современых позиций сделал кое-что и получше. Не смог я скачать
его исходники с github...

_________________
iLavr


02 Nov 2019 00:06
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Lavr wrote:
Возможно, автор Collapse OS с современых позиций сделал кое-что и получше. Не смог я скачать
его исходники с github...

Могу забросить на e-mail, нужно?


02 Nov 2019 01:57
Profile
Doomed
User avatar

Joined: 19 Feb 2017 03:46
Posts: 584
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Post 
Lavr wrote:
barsik wrote:
Автор должен предлагать в составе ОС хотя бы транслятор ассемблера
Прежде чем писать такую ерунду, следовало хотя бы минимально ознакомиться, что предлагает автор
Да это моё предложение, если воспринимать буквально, ошибочно.

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

А я имел в виду то, что и без меня справедливо указали на иностранных форумах, что на новодельной ЭВМ нужна не одна лишь ОС, а вся "экосистема". Т.е хотя бы один компилятор ЯВУ и полноценный линкующий макро-ассемблер. Иначе умирающие от голода или лучевой болезни случайно уцелевшие знатоки программирования должны будут написать на примитивном строчном редакторе нормальные текстов редактор, затем на нём нормальный макро-ассемблер, отладчик и компилятор Паскаля или Си?

А смогут ли они это сделать? Даже сейчас это смогут единицы и за многие тысячи человеко-часов. И вообще примитивная ОС пишется за 3 дня, а ОС уровня CP/M максимум за месяц. Ценность представляют именно компиляторы, а вовсе не ОС, тем более примитивная. Потому на пост-апокалипсис следует прятать в убежища исходники компиляторов ЯВУ, а не исходник примитивной ОС. А в качестве ОС, естественно, нужна такая DOS для которой есть компиляторы.

Автор мотивирует отказ от CP/M тем, что у неё не та лицензия (не open source). Но кого будет волновать правовая сторона, когда фирмы правообладатели, суды и юристы исчезли, а по городам бродят голодные людоеды. А сама ОС представляет собой SHELL, который может работать с блочным устройством для ввода и вывода. Файл это группа смежных блоков, дефрагментации нет, последовательной и прямой записи нет, даже уменьшить/увеличить размер файла нельзя. Хорошо хоть повторное использование блоков после удаления есть. ОС имеет всего 3 процедуры: позиционирование на N блока, LOAD и SAVE. Т.е это функциональный аналог примитивной двух килобайтовой DOS для Львова (точнее даже примитивнее). Не все "повёрнуты" на Linux и Си, большинству людей удобнее не SHELL, а обычный command.com или CCP с простыми командами.

Вот как в этой "ОС" делается трансляция файла:
Code:
> fnew 1 dest           ; create destination file
> fopn 0 hello.asm      ; open source file in handle 0
> fopn 1 dest           ; open dest binary in handle 1
> zasm 1 2              ; assemble source file into binary file
> dest                  ; call newly compiled file
>
[нет ошибки в номерах дескрипторов?]

Разработчик привык к юниксОидным ОС, похоже, даже не имел дела ни с MSDOS, ни тем более с CP/M (он сам признаётся, что мало знает о других ОС). В примитивном ассемблере он применил соглашения из Си, исходники не в виде одного файла, что нужно для трансляции ZASM-ом, а в виде кучи файлов (к тому же в виде HTML), в общем всё печально. Ещё непонятно зачем для настройки DOS на иное железо нужно перетранслировать весь её исходник. Автор считает самым ценным то, что DOS имеет исходник и потому её удобно настраивать под имеющееся железо.

Мне непонятно почему не лучше стандартизовать I/O-входы (как стандартизовали входы F800 в Микро-80 и последующих советских ЭВМ или CP/M-BIOS), тогда достаточно набивать лишь готовые дампы. Транслировать программы из трёхтысяче-строчных исходников будет не надо. Бейсик Билла Гейтса из 1975 года имел лишь ввод с последовательного интерфейса и вывод на него. Но это позволило без перетрансляции применять его на любых машинах с 8080, заменив в коде лишь несколько байтов.

Разве не удобнее было бы стандартизовать точку входа в I/O подпрограммы (например RST 8 ), тогда пользователь сам напишет I/O процедуры (чтение/запись блока в 256 байт и посимвольный ввод/вывод) под своё железо. Чем может отличаться иное железо на Z80? Только объёмом ОЗУ, ПЗУ, их размещением в адресном пространстве и адресами портов для В/У. Но такую же задачу решала и CP/M и в ней не потребовался исходник DOS и её перетрансляция для адаптации.

Пока у меня сложилось мнение, что это вообще не DOS для реального практического использования, а просто самая простая возможность хранить файлы на microSD. Опираясь на что, уже дальше планируется написать нормальную ОС и кучу компиляторов ЯВУ к ней. Т.е это не полноценная DOS призванная заменить CP/M, а просто "система начальной раскрутки", позволяющая начать что-то писать на ассемблере используя примитивный строчный редактор, хранить написанный исходник на устройстве с флэш-памятью и потом транслировать примитивным ассемблером. Ну и попутно размножать саму эту систему, т.е адаптировать её под другое железо.

PS. Сама ОС не особо интересна (лишь п/п-мы нижнего уровня для microSD), а вот бездисководный Z80-ассемблер размером всего в 5 кб может пригодиться для прошивки в основное ПЗУ или внешний ROM-диск бездисководной самоделки (где винта/дисковода ещё нет, а его заменяет эл.диск, закачиваемый по линии из PC).


03 Nov 2019 14:09
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22517
Location: Silicon Valley
SAA wrote:
Lavr wrote:
Возможно, автор Collapse OS с современых позиций сделал кое-что и получше. Не смог я скачать
его исходники с github...

Могу забросить на e-mail, нужно?

Дык поди можно прямо тут прицепить, не?

_________________
:dj: https://mastodon.social/@Shaos


03 Nov 2019 19:16
Profile WWW
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Shaos wrote:
Дык поди можно прямо тут прицепить, не?

А что так было можно? :D


Attachments:
collapseos-master.zip [1.44 MiB]
Downloaded 265 times
03 Nov 2019 21:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
SAA wrote:
Lavr wrote:
Возможно, автор Collapse OS с современых позиций сделал кое-что и получше. Не смог я скачать
его исходники с github...

Могу забросить на e-mail, нужно?

Если вам не трудно - помогите, e-mail отправлю в личку. Раньше там была опция "скачать ZIP",
сейчас этой опции не нашел. :-?
Ну и по тому что я оттуда смог прочитать с работы по файлам README - автор склоняет это тестировать
в эмуляторе, что несколько странно, но исходники хотелось бы почитать.

_________________
iLavr


04 Nov 2019 08:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post Re:
barsik wrote:
Lavr wrote:
barsik wrote:
Автор должен предлагать в составе ОС хотя бы транслятор ассемблера
Прежде чем писать такую ерунду, следовало хотя бы минимально ознакомиться, что предлагает автор
Да это моё предложение, если воспринимать буквально, ошибочно.

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

А я имел в виду ...

А надо писать так, чтобы никто не гадал, что вы имели в виду. Телепаты, тут, может быть, и есть,
то тематика этого форума иная, форум технический, здесь интересны четкие достоверные факты,
а также однозначность изложенного материала.
Кто сказал, что "примитивный ассемблер, что автор использует"? В чем его примитивность?
Похожие ассемблеры по ссылкам автора используют и некоторые коммерческие проекты, и никто не
жалуется на примитивность. Я посмотрел описание и компилируемый код - примитивности не заметил.

 ПРИМЕР АССЕМБЛЕРНОЙ ПРОГРАММЫ
Code:
; The RAM module is selected on A15, so it has the range 0x8000-0xffff
.equ    RAMSTART   0x8000
.equ    RAMEND      0xffff
.equ    ACIA_CTL   0x80   ; Control and status. RS off.
.equ    ACIA_IO      0x81   ; Transmit. RS on.

    jr init

; interrupt hook
.fill   0x38-$
    jp aciaInt

init:
    di
    ; setup stack
    ld hl, RAMEND
    ld sp, hl
    im 1
    call aciaInit
    xor   a
    ld   de, BLOCKDEV_SEL
    call   blkSel
    call   stdioInit
    call    shellInit
    ei
    jp      shellLoop

#include "core.asm"
.equ    ACIA_RAMSTART   RAMSTART
#include "acia.asm"
.equ   BLOCKDEV_RAMSTART   ACIA_RAMEND
.equ   BLOCKDEV_COUNT      1
#include "blockdev.asm"
; List of devices
.dw   aciaGetC, aciaPutC, 0, 0

.equ   STDIO_RAMSTART   BLOCKDEV_RAMEND
#include "stdio.asm"

.equ    SHELL_RAMSTART   STDIO_RAMEND
.equ    SHELL_EXTRA_CMD_COUNT 0
#include "shell.asm"

В чем тут примитивность? Примитвность "#include " не предполагает.

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

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

И помните классика: текст "как монету, чекань. Строго, отчетливо, честно, Правилу следуй
упорно: Чтобы словам было тесно, Мыслям — просторно."

_________________
iLavr


04 Nov 2019 08:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Shaos wrote:
Дык поди можно прямо тут прицепить, не?

Ну помог бы? Только мне кажется, там не всё надо, эмулятор, мне кажется здесь не нужен.
Что-то Гитхаб (или Гитлаб) совсем обнаглел. Ну ладно дома у меня Опера 9.64 - он её устаревшей
считает - соглашусь.
Но с работы захожу из-под Файрфокса - он его тоже ругает устаревшим.
Приходится очень убого ковырять файлики через сторонний примитивный браузер Dplus. :-?

_________________
iLavr


04 Nov 2019 08:53
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
SAA wrote:
Shaos wrote:
Дык поди можно прямо тут прицепить, не?

А что так было можно? :D

Спасибо! Извините - сразу не заметил, что приаттачено вложение! :D

_________________
iLavr


04 Nov 2019 09:09
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Lavr wrote:
...не заметил, что приаттачено вложение! :D

Рад что Вам это пригодится, Лавр!


04 Nov 2019 09:16
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Lavr wrote:
автор склоняет это тестировать в эмуляторе, ....

Кусочек из roadmap https://collapseos.org/roadmap.html
Quote:
Run on minimal and improvised machines.

Run on well known z80 machines.
RC2014 Classic
Sega Master System


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


04 Nov 2019 09:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
А не подскажете, что за тип файлов .md у автора?
Может, Dplus у меня кривой браузер, но сохраняет он мне их практически как .htm.
Я их просто их переименовываю потом, к примеру как readme.md.htm .

_________________
iLavr


04 Nov 2019 09:32
Profile
Display posts from previous:  Sort by  
This topic is locked, you cannot edit posts or make further replies.   [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.