Спустя 10 лет с момента открытия кода MS-DOS 1.25 и 2.0 компания Microsoft объявила об открытии исходных текстов операционной системы MS-DOS 4.0, изначально выпущенной в 1988 году и разработанной совместно с IBM. Код открыт под лицензией MIT, которая позволяет свободно вносить изменения, распространять и использовать в своих продуктах. Кроме кода, в открытом доступе размещена документация и дисковые образы...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=61071
36 лет спустя,а оно еще работает. Будем ждать сорцы хп.
Сорцы хп - это самый костяк 11, обдождёшься
Пф,я еще молодой.
Зачем тебе они? Что ты будешь с ними делать?
Компилять.
LFS занятнее.
Вместе с исходниками лицензия идёт. Хотя бы это может быть полезно.В wine периодически всплывали обсуждения по поводу "посмотреть в утечки виндовых исходников". И как потом доказать, что ты не верблюд?
> Будем ждать сорцы хпОни утекли несколько лет назад, также как и код Windows Server 2003.
Здесь вроде бы копии оригинальных утечек:
https://github.com/tongzx/nt5src
https://github.com/selfrender/Windows-Server-2003
https://git.kicker.dev/archive/windows-xp
https://git.kicker.dev/archive/windows-server-2003Энтузиастам удаётся собирать из них полноценную Windows.
Developer compiled Windows XP/2003 source code from Leak
https://borncity.com/win/2020/10/01/entwickler-compiliert-wi.../Windows XP/Server 2003 source code revisited
https://wink.messengergeek.com/t/windows-xp-server-2003-sour...How to compile Windows Server 2003 - NTDEV
https://archive.org/details/ws03_ntdevw2k3builder: a VM configured to build leaked Win2k3 Server source code (which then has full pdb symbols)
https://forum.tuts4you.com/topic/43801-w2k3builder-a-vm-conf.../
Там, во-первых, исходники SP1. SP2 там нет.Во-вторых, неполные, нет winlogon.
> Там, во-первых, исходники SP1. SP2 там нет.
> Во-вторых, неполные, нет winlogon.Компилятор бы ещё. По слухам, версия VS 2015 и новее встраивают телеметрию в бинарники, которые компилируют. Вычистить заразу и собрать компилятор под старые ОС, чтобы и там бинарники компилить!
Выложат порционно когда nt выкинут
Моё любимое число: 7, буду ждать MS-DOS 7.
6.22 была последняя самостоятельная
Сорцы ХР лежат на сами знаете каком сайте вместе с пошаговой видеоинструкцией по сборке. Компиляйте и изучайте на здоровье. В оупенсорс их, как верно заметили, если и отдадут, то очень нескоро.
Чёт это не помогло РекталОСу.
Как по твоему утёкшие исходники винды должны были помочь ReactOS?
Взять и посмотреть описание структур данных, процедур и функций гораздо проще, чем постоянно тыкать пальцем в небо, делая реверс-инжиниринг.
Чтобы потом майкрософт совершенно легально затаскала бы по судам команду ReactOS? Или даже бы и вовсе прикрыла проект? Напоминаю, что во многих развитых странах в том числе в США, ЕС и России законодательно разрешен клин рум реверс инжиниринг в отличии от очень сомнительного с точки зрения законодательства заглядывания в утекшие исходники хоть с какой-либо целью.
Никто ж не говорит, что копипастить надо. Написали же, структуры данных посмотреть. Имена полей, если они не являются частью API, назвать по-своему. Имена вспомогательных функций, тоже, если они не экспортируются, по-своему назвать. Ещё лучше, разрезать какие-то из них на несколько. Вобщем, для изучения алгоритмов использовать виндоисходники.
Структуры данных и другое, если я не ошибаюсь, можно посмотреть в дебажной сборке винды ИксПи или 2003, которую майкрософт когда-то по ошибке выложил в свободный доступ для этого не нужно заниматься сомнительной с точки зрения закона ерундой. Плюс используя клин рум реверс инжиниринг можно доказать в суде, что вот именно эти строчки кода имеют легальное, а не сомнительное происхождение.
Один смотрел исходники и рассказывает второму кто не видел как это работает
Подобное скорее всего уже не будет считаться клин рум реверс инжинирингом.
Я не понимаю с чем вы все спорите. Исходники винды получены нелегальным путем и уж тем более не под свободными лицензиями открыты, зачем пилящим ReactOS рисковать целым проектом ради его призрачного улучшения используя эти исходники?
Они теоретизируют с умным видом. Что бы сделать столь сложную вещь как ОС, необходимо понимание - вот что в первую очередь и получается при реверс инжиниринге. Исходники этому помогают мало (с одной стороны - экономят время; с другой - позволяют схалтурить). Исходники Linux открыты, но производство ОС ограничено добавлением к ним иконок и обоев.
>>Чтобы потом майкрософт совершенно легально затаскала бы по судам ...
>>в США, ЕС и России законодательно разрешен клин рум реверс инжиниринг...только вот лицензионным соглашением m$ он запрещен, так шо - пофигу, хрен редьки не слаще.
ЕУЛА не может противоречить международному законодательству или законам страны в которых расположена микрософт. Во всех положениях где есть противоречия более приоритетным будет закон, а не ЕУЛА.
вы как бэ намекаете, что в международном законодательстве написано: "ревер инжиниринг разрешен во всех формах и без ограничений, плюйте на лицензию, делайте что хотите."так?
Microsoft Corporation зарегистрирована в США, а ReactOS Deutschland e.V. в Германии. Так что, достаточно на законы этих двух стран посмотреть. Разрешён ли он там или нет, не знаю
> вы как бэ намекаете, что в международном законодательстве написано: "ревер инжиниринг разрешен
> во всех формах и без ограничений, плюйте на лицензию, делайте что
> хотите."Я скажу прямо: не стоит вот так сотрясать воздух, будучи не в теме.
Только с одним уточнением - закон не имеет обратной силы, то есть если действует ЕУЛА, которое было введено ДО появления закона, то ЕУЛА сильнее, то есть подписанные ранее появления закона договора продолжают действовать.Ну если быть совсем точным, там могут быть отдельные исключительные случаи, типа рабовладельческих отношений итп, но их разруливает Верховный суд, который уже принимает окончательное решение по конкретному случаю (для континентальной системы) или создает прецендент, для системы Британской.
Поэтому, например, в европах часто можно в магазинах видеть столетней давности механические кассовые аппараты - новые такие уже нельзя делать, но если используется старый и фирма существует до введения нового закона, никто не может этот ка запретить (ну точнее см выше, может через суд, но обычно дело того не стоит и на это забивают).
Разница только одна: у MS хватит денег на 100 лет судов, а вам до конца дела молиться, что вы его не проиграете.Когда кто-то упоминает законы, надо договаривать, что без денег на адвоката и времени на суды - для вас закона нету.
Это может сказать только человек, который не занимался ни просмотром исходников, ни реверс инжинирингом. Хинт: непоняток как реализовать вызовы Windows никогда не было.
API и структуры данных у Microsoft, в сущности, неплохо описаны. Как для прикладного уровня, так и для уровня драйверов. Для этого полные исходники не нужны.
> Взять и посмотреть описание структур данныхДля этого не нужны исходники. WinDbg их откуда-то берёт. ;)
Не наступить на грабли маек.
> Будем ждать сорцы хп.Почитайте старую новость тут
https://www.opennet.dev/opennews/art.shtml?num=53783UPD. Выше уже ответили тоже самое.
ну теперь то заживём так заживем...) на самом деле наверное вовлечённым будет полезной штукой посмотреть поковыряться. другое дело почему сейчас? почему не 5-10 лет назад?
Чем тебе будет полезен код на ассемблере? Главное по насобирать исходников, а что с ними делать никто не знает.
Насколько я помню код ДОСа, там а) далеко не везде asm б) можно достичь прикольных результатов размотав макросы и выкинув платформы, которых уже живьем не найти. В свое время утекали исходники himem.sys, весьма забавно было в них ковыряться.
Вовлеченные на самом деле давно посмотрели и разобрались. Страуструп даже шутил что на крестах переписывал :) Это стоит воспринимать примерно как рецепт того самого торта Прага из московского ресторана, опубликованный в газете Известия.
26 апреля x86 года, ни раньше ни позже, как грится.
Намёк на вирус чернобыль?
Будь здоров, не CIH'ай!
Почему не сразу на релизе?
> другое дело почему сейчас?Потому что M$ любит опенсорс и отдаёт ему лучшее, и когда оно нужнее всего.
Может быть как музейный экспонат и имеет смысл, но с практической точки зрения не придумаю зачем нужно.
Это для лютых ретробуков чтобы кодить ничего не мешало.
По ссылке https://github.com/microsoft/MS-DOS/tree/main/v4.0-ozzie упоминается "Multitasking DOS BETA". Удивительно, но прежде никогда не слышал о ней. Подробная статья по теме: https://betawiki.net/wiki/Multitasking_MS-DOS_4
https://habr.com/ru/articles/207848/ - вот статья на русском
Видимо, ещё лет через 10 опубликуют наконец код MS-DOS v6.22.
А зачем - написано же, что код на ассемблере. Берешь и декомпилируешь.
Дизассемблируешь, а не декомпилируешь. Ну и пожелаю удачи с изобретением имён меток.
Ждём открытия сорцов MS-DOS 6.22 и графической оболочки Windows 3.1.
А еще лет через много win 3.11
А Windows for workgroups - это отдельное было?
> А Windows for workgroups - это отдельное было?Windows 3.11 for Workgroups — это сетевая модификация оболочки Windows 3.1.
Нет. Были 3.1 и 3.11, были они же for workgroups. Просто исторически так сложилось, что в СНГ использовали либо просто 3.1, либо 3.11 for workgroups.
6.22 не нужен .
PC-DOS 7.0 от IBM было интереснее.
Novell DOS (NDOS ?) была прикольной ... Там была явная многозадачность (да, да можно было как в Unix получить вторую конслоль).
А PTS DOS ещё прикольнее.
Там две версии, из одной чуть ли не os/2 пытались сделать с альтернативой Windows
> А PTS DOS ещё прикольнее.PT$ DOS называлась, другое название — ФизТехДОС. Российский ремейк MS DOS 5.0 со всеми необходимыми утилитами, включая фирменный дефрагментатор файловой системы. В своё время, АО "Микрософт" на разработчиков подала в суд.
Так и чем закончилась история? Кто в суде победил?
Где сейчас PTS-DOS? Откртый продукт или проприетарщина?
В целом конечно есть FreeDOS, но тут тоже интересно.
Так и в MS-DOS можно было. Dos shell это делал (task switcher / swapper), а потом и Windows 3.0. Благо V86 режим процессора позволял.Ну и сторонние были https://mirror.math.princeton.edu/pub/oldlinux/Linux.old/doc...
Дык task switcher - он не про многозадачность, а про переключение.
А в Novell DOS там была многозадачность, если проц позволял ...Хотя ... давно это было, м.б. и вру как Троцкий.
Novel DOS был более нестабильным, чем DOS 6.22
А реальной многозадачности в виде параллельного исполнения в голом досе вы по определению не сделаете, т.к. он полагается на функции BIOS, которые не рассчитаны на то чтобы их в параллель дергали (помните как обработчики прерываний по цепочке - вначале сам отработай, потом передай следующему обработчику обработать, пока не дойдем до конца, а если иначе сделать, то кто-то навернется). Запустить в параллель несколько задач - можно, V86 режим позволяет. Но если мы полагаемся где-то на общий код реального режима в биосе - а дос работает через биос - то его в параллель никак нельзя исполнять. Помните win95 "сейчас, дискетку доформатирую..."? Специально ограничено в тот момент, чтобы никто другой не сунулся в функции реального режима из биоса.Но можно иллюзию многозадачности через кванты времени, для этого и V86 не нужно, TSR висящие на прерываниях таймера исполняли код в фоне. PRINT.COM печатал файл параллельно работе других программ даже на 286, не имеющем V86 режима, в реальном режиме, забирая себе 10% или 20% квантов времени, вися на прерывании от таймера...
Win 3.0 и выше могла сделать настоящую многозадачность тк там своя реализация работы с файловой системой, умеющая в параллельность, и своя реализация работы с диском в обход биоса и прочее. Эмуляция доса и биоса. И то по причинам совместимости еще в W95 форматирование дискеты использовало реальные вызовы биоса и все блокировало в тот момент. Только на 100% отказавшись от реального кода из биоса, получили 100% многозадачность для дос окон в NT
Жаль, что исходники NT 3.51 опубликуют примерно никогда.
Выше запостил ссылки на утёкшие исходники XP и WS2003.
https://www.opennet.dev/openforum/vsluhforumID3/133525.html#18
А зачем они лично тебе? Что ты с ними будешь делать?
Учитывая что есть Wine и ReactOS?
а что не 3.3?
4.0 мертвая была
ну вот самую ненужную и открыли, как водится, нате на лопате.Ни 3.3, ни 5.0 - разумеется не в этом тысячелетии.
Наконец-то. Теперь можно ставить со спокойной душой.
4 - днище, или 3.1 или 5.0. Ну и, конечно, 6.22
ты уже получил исходники 3.1 или 5.0. Ну и, конечно, 6.22?
Получите исходники FreeDOS и ставте.
но ведь есть же FreeDOS которая уже давно лучче
Корпы хотят задабить фри своим опенсорс что непонятно.
ничуть. одна из игр не работала на нём.
У его одна задача- установить хрюшку если нет дисковода
Не лучче. С совместимостью у неё не очень.
А чего там открывать-то если исходники на ассемблере. Сама программа тогда и есть сама по себе исходник, лол.
Ассемблер - не то же самое, что машинный код.https://en.wikipedia.org/wiki/Assembly_language
https://en.wikipedia.org/wiki/Machine_code
И чего он добавит кроме комментариев? Может им сразу надо было писать самодокументируемый код? (Это шутка если что, а то опять кто-нибудь начнет ссылками на Вики кидаться)
В репе есть C код.
Исходники MS-DOS 6.0 тоже утекали и вполне себе собираются. Только с локализацией беда, тектовые строки даже на английском битые.
У ДОСа свой месяц есть, ДОСябрь называется или DOScember по ихнему.
это сразу после ноября на оранжевом ютубе? Оно и видно
Зумеры не осилили изобрести дизассемблер, поэтому и выложили
Опеннетные эксперты считают, что исходник на ассемблере и выхлоп дизассемблера — одно и то же.
Опеннетные эксперты не могут доказать различия.
> Опеннетные эксперты не могут доказать различия.Опеннетным экспертам для этого нужно всего лишь глянуть в код, если уж сами с асмом знакомы лишь по слухам или laba.asm ...
https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/DEV/V...
; BIOS Parameter Block (BPB) ;
;-----------------------------------------------------------------------;
;This is where the characteristics of the virtual disk are established.
;A copy of this block is moved into the boot record of the virtual disk.
;DEBUG can be used to read sector zero of the virtual disk to examine the
;boot record copy of this block.BPB LABEL BYTE ;BIOS Parameter Block (BPB)
BPB_SSZ DW 0 ;number of bytes per disk sector
BPB_AUSZ DB 1 ;sectors per allocation unit
BPB_RES DW 1 ;number of reserved sectors (for boot record)
BPB_FATN DB 1 ;number of File Allocation Table (FAT) copies
BPB_DIRN DW 0 ;number of root directory entries
BPB_SECN DW 1 ;total number of sectors
;computed from buffer size and sector size
;(this includes reserved, FAT, directory,
;and data sectors)
BPB_MCB DB 0FEH ;media descriptor byte
BPB_FATSZ DW 1 ;number of sectors occupied by a single FAT
;computed from BPBSSZ and BPBSECN
BPB_LEN EQU $-BPB ;length of BIOS parameter blockBPB_PTR DW BPB ;BIOS Parameter Block pointer array (1 entry)
Ну вот: и там и там китайская грамота. %)
> Опеннетные эксперты считают, что исходник на ассемблере и выхлоп дизассемблераРазумеется нет. В исходник M$ заботливо добавил телеметрию, ради нашего же блага.
Выкладывание халявы корпами - повод для опенсорсной мыши насторожится.
Коммиты в опенсурс корпоратами опенсурсную мышь не настараживают
Тренд позитивный, но лично я буду ждать 6.22.
Бери уже FreeDOS и не жди
нужно портировать на z280, но чтобы так, чтобы можно было запускать ромы игр со Спектрума из командной строки
другой вопрос - самого компа на z280 нету, я уже купил проц и начял чертить схему - ну ладно ПЗУ взял со 128к Спектрума, ОЗУ для начала статическая 128к, а вот как дальше прикрутить контроллер пс/2 клавиатуры и видеочип я уже не знаю...
А чем загвоздка? Там же есть же шина, значит, к ней можно что угодно прикрутить.
я в схемотехнике практически нуль с минусом и паяю, как курица лапой, но хочется Спектрум на z280 и с объемом озу до 16МгБ, тогда уже можно будет программировать на Си, как на ПК в DOSе
На ПК в DOSе программировали с 640 Кб, а лично я некоторое время с 512, с IDE в виде Turbo C 2.0, и знаете — было вполне приемлемо. С 16 Мб можно было уже в винде о-очень вольготно программировать.
память никогда лишней не бывает даже в ДОСе, поэтому если делать Спектрум на z280 то уже сразу с максимальным объемом памяти - сейчас эти 16МгБ вообще бесплатно стоят, а тогда такая планка стоила около $100
Я к тому, что эти мегабайты в DOS просто ничего не давали. Ну можно было дисковый кэш разместить, так и то пары мегабайт за глаза было.
Удачи тебе без 4 мегов оперативы под досом дум запустить или без 8 гигов квейк. Всякие там CWSDPMI много у кого в комплекте шло.
32-битный софт под DOS — это уже совсем другая история. DPMI-хост — это, по существу, ещё одна ОС над DOS (кстати, можете поинтересоваться происхождением).
Формат файлов обычный MZ, запускались из-под обычного доса. То, что они процессор потом переводили в другой режим и сами со всякими GDT/LDT/IDT работали вместо привычных сегментов - это уже мало кого интересовало. Если, конечно, не требовалось запустить одновременно несколько программ с разными расширителями (DOS4GW помню, да) - тут становилось весело и даже не знаю удалось кому-то такой квест пройти или нет.
> Формат файлов обычный MZТак он и у винды до сих пор обычный MZ.
> То, что они процессор потом переводили в другой режим и сами со всякими GDT/LDT/IDT работали вместо привычных сегментов - это уже мало кого интересовало.
Ну да, _всего лишь_. Кстати
https://www.delorie.com/djgpp/doc/dpmi/ch5.a.html
> Так он и у винды до сих пор обычный MZ.Нет. Был обычный MZ для доса, NE для Win16 (и вроде бы для полуоси тоже) и PE для NT и 9x (не помню поддерживался PE если ставить на Win 3.1 такую штуку как Win32s или нет). Что NE и PE в начале содержат досовскую заглушку со знаменитой надписью "This program cannot be run in DOS mode" мне конечно же известно. MZ-файлы хоть для 16битного доса, хоть для 32битных под всякие DOS4GW вроде друг от друга не отличались ничем или меня память подводит спустя 30 лет?
> Ну да, _всего лишь_.
Можно было бы и про ввод/вывод написать, и про другую магию. Но зачем?
Так MZ в программах для DOS4GW — тоже заглушка. А внутре у нея LE. Например:file sea.exe // известная смотрелка под DOS
sea.exe: MS-DOS executable, LE executable for MS-DOS, DOS4GW DOS extender
Значит я ошибался. Благодарю за поправку.
Более того! Там даже DLL можно было использовать. Как минимум один раз такое чудо видел, в плеере OpenCP.
Зачем наступать на теже грабли, как Гейтс - 640 КБ хватит всем... Сначала можно запускать ДОС на z280, а потом кто-то прикрутит гуй или Линукс...
Но сначала нужно просто создать Спектрум 128К на базе z280 и посмотреть будет ли хотя бы 50% игр запускаться - если нет, то нет смысла делать комп и на 16МБ...
Да я ж не спорю, что чем больше, тем лучше. Но если хочется именно «как в DOS» — память эта будет лежать мёртвым грузом. Да много ли хотя бы для того же «скорпиона» было программ, которые использовали всю память? Как правило, всё шло под рамдиск.
Да пускай лежит мёртвым грузом - она что есть просит или денег стоит? Кто-то прикрутит гуй и сразу 16Мб мало станет - мне кажется это любой компьютерщик должен элементарно понимать... Сейчас не 80е или 90е, когда память дорогая была... Более того, если делать Спектрум на z380 - то нужно сразу распаивать на плате 4ГБ !!! (а это проц по мощности i386 и тем не менее я бы так сделал)
> тогда уже можно будет программировать на Си, как на ПК в DOSеНЕ как в DOSе а как на ос/360 - с оверлеями.
Суть что на спекки никогда не было прямой адресации, только переключением страниц, ну то есть по сути почти те же сегменты как на 286.
То есть если программа не могла вместить все коды и данные в свои там 48к или сколько получалось, можно было сделать обычно один оверлей главный большой, скажем 48к, а остальное подкачивать переключением страниц по 16к.
И да, прикол что на мейнфреймах довольно рано сделали 31-битовое расширение, но очень долго тянули совместимость и жили с оверлеями, и только в 90х на /390 сделали 64-битовую адресацию и там уже действительно простой Си безо всяких изощрений любой объем прямо использует.
Ну и да, что интересно, на ПК в DOSе, на 86/88 и 286 была конечно только адресация переключением страниц, а как появился 386, довольно быстро сделали экстендеры, что можно было прямо 32-битово адресовать память, то есть по сути раньше чем на мейнфреймах (там правда с оговоркой, что первые ревизии 386 были глючные что на них Десквью крешилась, но говорят что Интел очень оперативно исправил и в массовой эксплуатации этого почти никто не видел).
Еще формально 32-битовая адресация была в м68к, но по факту расширенные линии адреса сразу стали хакерски использовать как дополнительные регистры, поэтому только когда пошли в массы 68030, старые проги стали просто прибивать, а во времена 68020 еще с совместимостью были проблемы.
Вы даташит читали на z280 ?
он работает, как в сегментном режиме так и в защищенном. В 80е годы процыки Zilog шли на шаг впереди процыков интел, так что z280 чуть получше i286
Защищённый режим и адресация >16 бит — совершенно ортогональные вещи. То, что в x86 адресация в реальном режиме ограничена 16 битами — исключительно прихоть Intel (и то умельцы быстренько придумали unreal mode). А z280 остаётся 16-битным, и в любом режиме необходимость секса с переключением банков не отпадает.
Так в Виртуальном режиме переключаться между банками не нужно - на то он и Виртуальный режим до 16Мб. Но для начала подойдёт и сегментный режим
24-битные адреса вы хоть в виртуальном, хоть в парареальном режиме через HL и DE указывать будете как?
компилятор будет, я же на Си, а не на асм собираюсь
вы разве в ДОСе не программировали? - указываете модель памяти, а компилятор сам всё делает
Во-первых, далеко не всё. И модели выше small старались любой ценой избегать.
Во-вторых, перезагрузка сегментных регистров гораздо проще, чем переключение банков, и вообще более гибкая штука.
зачем тебе _это_ хочется, для чего?
странный вопрос - а зачем ребята старые машины и мотоциклы восстанавливают и тюнингуют ???
> странный вопрос - а зачем ребята старые машины и мотоциклы восстанавливают и
> тюнингуют ???чаще всего потому что 1)серийных моделей довольно мало 2)они ездят примерно так же, как и новые 3)при этом значительно дешевле
какой прикол в компах, в мире, где главное уже не среда выполнения, а код, при том, что эти компы - в основном конструкторы - дано понять только конченным 3адротам без жизни
ну мне уже надоело играть на Спектруме с процом z80 - многие игры тормозят, хочется перейти на более мощный проц
Современные версии Z80 работают на частоте до 20 МГц, этого хватит для преодоления любых тормозов. А обычный Z80 ещё в 90-х разгоняли до 7 МГц, чего на практике хватит для любой игры. https://zxpress.ru/article.php?id=18100
это конечно очень круто, но чтобы платформа ZX-Spectrum развивалась проц нужен ещё мощней. В первую очередь для повышения разрешения до 512х384, но с сохранением клешенга, потому что Spectrum - это в первую очередь видео режим. Более высокое разрешение позволит создавать более красивые игры и более удобные трекеры для создания музыки
> с сохранением клешенгаВот самое убожество только и сохранять, да. Из-за которого 90% игр выглядят как говно. Высокое разрешение играм как раз нафиг не сдалось, большинство на C64 со 160×200 куда лучше, чем на спектруме, выглядели.
Ну и всё это решено давно, куча клонов с самыми разнообразными видеорежимами существует (а софта под это всё кот наплакал, естественно).
Вот как раз все эти "нормальные" без клешенга видеорижимы Спектруму нафиг не нужны - потому что это есть у всех на ПК и поэтому они не прижились. А вот многие самые лучшие игры на Спектруме сделаны в монохромном режиме - это Flying Shark, Chronos, Joe Blade, Batman, Knight Lore, Robocop и многие другие, а это совершенно другой стиль графики, которого нет на других платформах. Поэтому Спектруму нужно более высокое разрешение, а для этого нужен более мощный проц
Если вам нужны "нормальные" цвета - ну так пользуйтесь MSX, зачем вам Спектрум? А Спектрум - это для клешенга! Кстати, самой лучшей игрой на Спектруме считается Head Over Heels с монохромным цветом в игровом поле
https://www.retro-sanctuary.com/Top-100-Spectrum-Games-Page-...
Вот только Head over Heels — это мультиплатформа. Ладно, с Амигой сравнивать неспортивно, но поглядите хотя бы, как она на Amstrad CPC выглядит.
Спектрумисты почему-то думают, что они одни такие исключительные. А абсолютное большинство известных спектрумовских игр на самом деле выходило и на других платформах (и порой раньше, а на спектруме уже порты), и тут спектрум выглядит совсем не выигрышно.
ну мни Head over Heels на Спектруме нравится больше, с монохромной графикой. Если вам Спектрумовская графика не нравится - значит Спектрум не ваше... играйте на Amstrad CPC, а клешенг на Спектруме не трогайте !
Это «синдром утёнка» называется. К счастью, никогда им особо не страдал (помню, как в первый раз увидел Boulder Dash на Atari и офигел с разницы).
Надо понимать, что Spectrum был технически убог. И полбеды бы, если бы из-за уровня тогдашней техники, но нет — исключительно в целях удешевления (даже нормальную палитру не сделали). Собственно, из-за дешевизны он популярность и получил.
Тот же монохром — это по сути фейл системы клешинга вообще, типа пусть будет хотя бы так, чем никак. Нет, для ностальгии пусть остаётся, но тащить это в сейчас — просто бессмыслица.
Графика на Спектруме - это как рисунок карандашом по сравнению с маслом, это другой стиль искусства, это очень круто и это нужно развивать!!!
Нет. Графика на спектруме — это когда у тебя задумка написать маслом, а тебе дали карандаш. Безусловно, и в этих условиях можно что-то создать, но от первоначальной идеи это будет далеко.
если бы не Спектрум - мы бы вообще не увидели бы этих игр в монохромной графике
я конечно сам не смогу создать комп на z280 и портировать на него ДОС, а вот Спектрум на биосе от 48К или 128К с процом z280 вполне смогу, но если z280 с этими биосами не заведётся, но вопрос можно считать закрытым и проц на помойку
> другой вопрос - самого компа на z280 нету, я уже купил проц
> и начял чертить схему - ну ладно ПЗУ взял со 128к
> Спектрума, ОЗУ для начала статическая 128к, а вот как дальше прикрутить
> контроллер пс/2 клавиатуры и видеочип я уже не знаю...Первые попавшиеся ссылки их поисковика
https://zx-pk.ru/threads/35030-variatsiya-bezvejtovogo-kontr...
https://www.avray.ru/ru/zx-spectrum-ps2-keyboard/Судя по этой теме https://zx-pk.ru/threads/35428-atm-turbo-2-7-18-ne-rabotaet-...
на ATM Turbo 2+ 7.18 поддерживается PS/2 клавиатура.Я бы к ATM (или чему-то подобному, их много было, наверняка есть проще) и припаивал z280 вместо z80.
> на ATM Turbo 2+ 7.18 поддерживается PS/2 клавиатура.
> Я бы к ATM (или чему-то подобному, их много было, наверняка есть проще) и припаивал z280 вместо z80.Неужели недоприставки до сих пор актуальны? Но зачем это обсуждать в этой теме?
>> на ATM Turbo 2+ 7.18 поддерживается PS/2 клавиатура.
>> Я бы к ATM (или чему-то подобному, их много было, наверняка есть проще) и припаивал z280 вместо z80.
> Неужели недоприставки до сих пор актуальны? Но зачем это обсуждать в этой
> теме?Наверное, если купил человек z280, значит ему актуально. Начал обсуждать, вероятно, поскольку не знает, что теперь делать дальше. Я поддержал, что бы он глянул схему ATM и соизмерил со своими силами.
сегодня похожий проект Сергей выложил
https://youtu.be/PGE3eigQeNw
Мне смысл подобных устройств не ясен. Паять, где-то искать 27C256, прошивать, что бы что? Подключить к COM-порту и нажимать кнопки в Виндоус? Если охота "паять", то проще на Атмеге спаять какой-нибудь https://uzebox.org/hardware.htm -- там хотя бы картинка живая. Их много таких, есть и "Спектрум" с подключением к ЖК. Если охота "суперспектрум", так есть же эмуляторы вроде UnrealSpeccy, можно добавить z280 и ещё что-то. Если хочется на асме кодить - так в Linux это запросто, но почему-то мало кому интересно.
я тоже не понимаю смысла таких недо проектов, но для начинающих такие проекты могут помочь понять логику схемотехники
> для начинающих такие проекты могут помочь понять логику схемотехникиЭто как раз вполне годится как смысл. Другое дело, что схему ATM Turbo 2 начинающий не осилит, это я утверждаю, как спаявщий и отладивший 6-ю версию на традиционно бракованной плате 2-м спектрумом. Там надо что-то попроще и логичнее, вроде Ленинград-2. Если же в схеме 2-3 микросхемы - то совмременные микрокомпьютеры вроде того на Атмеге выглядят практичнее, как раз потому что подключаются к телевизору/монитору и всё наглядно: вот с этой ноги идёт красный цвет, вот отсюда синхроимпульс, а не какой-то там загадочный RS-232.
вот самая простая схема ZX-Spectrum на чипсете STM32, но челябинец не захотел делиться прошивкой
https://www.youtube.com/watch?v=ggm-KhYEMxs
вот по такой схеме собрать бы на z280...
"Простая" это довольно относительное понятие. Повторить-изменить, насколько понимаю, её не так просто. Вот схема на Атмегах https://www.qrz.ru/schemes/contribute/comp/avr_zx_spectrum.html
отдельные процессор, видеоконтроллер и муз.процессор. Вероятно, можно как-то и настоящий ЦП с ней подружить. Прошивки, правда, только в виде дампов. Наверняка есть и другие варианты, особо не копал вопрос.
я про этот проект Лисицына давно знаю, даже сильно удивлён - он вроде только на гитаре и Спектрум-игрушки играет, а тут бах такой крутой проект и потом опять тишина... Обычно, кто занимается МК показывают другие поделки
Знаю, что шутка не всем зайдет, но код MS DOS 4.0 на ассемблере мы всегда могли посмотреть)
Ну голый асм код не так интересен, тут же всётаки код до препроцессора, и внутри есть имена в читаемом человеком виде и даже комментарии. Оно в разы упрощает понимание.. ну если нам в нём поковыряться, вдруг, надо.Но зачем мёртворождённая 4.0 может комуто понадобиться, неизвестно. уж или 3.3 или 6.22 открывали бы.
Много чего интересного увидели? Что ж сами то не написали ещё тогда свою ось?
Блин, как же они любят капсом всё писать...
Угнетает, да?
Моего внутреннего минималиста.
я тоже очень люблю писать код капсом
В те времена на ассемблере было принято писать так.
Наверное, мониторы хреновые были. Или люди слепые. Впрочем, одно другому не мешает.
Думаю, это ещё во времена всяких фортранов на перфокартах тянется, когда строчных букв в компьютерах не было.
Это вам не бубунту, когда в 14.04 Хром запускается, а 22.04 уже нет, нужен какой-то вулкан.
в MS-DOS 4.0 хром тоже запустится что ли? Даже без вулкана?
В MS-DOS не запустится, но легаси в Windows, это не двухлетняя поддержка в линукс, а дальше обновляйтесь или идите в жо.
В Линуксе исходники открыты, поддерживай своё забагованное старьё сколько влезет. А в Винде - надейся на дядю, авось, не бросит поддержку, а то даже нашумевшие в прессе дыры без его разрешения не закроешь.
И поэтому я спокойно гоняю в современной винде какую-нибудь игрушку 20летней давности, а в ненужном не могу скомпилять что-то написанное пару лет назад: то питон неправильной версии, то gcc, то qt или что-то ещё
В современной Винде половина игрушек, написанных под WinAPI времен 95-XP, либо не работает, либо работает с большими косяками. Про 16-битные и говорить не приходится. А вот под Линуксом (в Wine и DosBox) все вполне работают.
А то, что некоторые нынешние developers, developers, что-то сконпелять не могут, если им не показать куда мышой тыкать, ну кто ж виноват? Линукс?
Если бы был репозиторий с сорцами разных червяков и вирусняков под эти ОС, то тогда можно было бы поковырять ради общего развития.
Интересно, сколько в них уязвимостей найдётся современными методами. Переполнения буфера, выполнение кода и т.п. В то время программисты не думали о таких тонкостях, хотя может за счёт высокой культуры и уровня подготовки там не будет прям ужас-ужас...
У тебя операционка работает в реальном режиме процессора. Все команды этого самого процессора (включая привилегированные), все порты ввода-вывода и вся память полностью доступны, так что в современных уязвимостях просто нет нужды, и так нормально.
На тех процессорах (8086, 8088) ещё не было привилегированных команд и виртуализации. Вирусы резвились в системе, как хотели. Но вирус нужно сначала принести и запустить, вместе с какой-нибудь внешней программой. А такого, чтобы при открытии текстового файла, самостоятельно выполнялся вредоносный код, используя уязвимости в программе - ещё не было.
Привилегированные команды появились в 286 проце, виртуализация (хоть и не в нынешнем виде) в 386. И на тех и на других MSDOS активно использовалась. В реальном режиме проца организовать переполнение буфера или в стеке данные подменить вообще не проблема, потому что все эти сегменты кода, данных и стека никакой защиты не имели и сделать что-то вроде:
push dx
push ds
retf - вопрос желания. Ну или соответствующий jmp/call far
> чтобы при открытии текстового файла, самостоятельно выполнялся вредоносный кодAUTOEXEC.BAT исполнялся сам и вызывал другие команды при загрузке системы. Разделения привилегий нет, можно с текущими правами заразить любой файл, вызываемый оттуда. Какой-нибудь KEYRUS.COM или MOUSE.DRV. Для закрепления (резидентной загрузки). Но на практике поступали проще - заражали вообще все файлы. Поэтому для борьбы с файловыми вирусами использовали не только антивирусы, но и дисковые анализаторы (ADinf). Ну и, конечно, запись в загрузочный сектор диска, как самое очевидное средство.
А для заражения, понятно, нужно принести вирус на дискетке в файле STRIPSHASHKI.EXE и запустить. Сегодня, плюс-минус, тоже самое, только каналы поставки стали шире.
STRIPS~1.EXE же.
> STRIPS~1.EXE же.Точно не помню, кажется, что DOS Navigator поддерживал больше 8-ми символов в имени.
https://en.wikipedia.org/wiki/Long_filename#Other_implementa...
— Вот как мне, интересно, файлы получше заражать, — размышлял Винни. — Если я положу в начале программы RET, а стек заставлю смотреть на адрес возврата…
— Кого заставишь смотреть? — испугался Пятачок, которому померещилось чего-то страшное.
— Стек, — сказал Винни Пух.
— Ага, — сказал Пятачок понимающе и отодвинулся от монитора подальше.
— Вот… Заставлю его смотреть на адрес возврата, то Пчелы, наверное, подумают, что это просто какая-то ошибочка и ничего не заметят. А если я поставлю вначале переход на вирус, как вызов процедуры, то Пчелы, наверное, подумают, что это маленькая подпрограммка и тоже ничего не заметят. По-моему так.Андрей Щербаков, "9600 бод и все-все-все..."
В то время программистов было мало, а ошибок столько же. Вот и посуди, какая тогда была "культура".
MS-DOS классная система, я в те времена прям уважал Microsoft и начинал программировать с qbasic'а. И Windows 3.1 душевная такая штука, нравилась. Жаль, что потом они скатились в монополизацию, обман пользователей, и некачественное ПО...
Обман в чём?
Например, 1990-х гг начала внедрять в свою ОС телеметрию.
Ну для начала нужны примеры.Но обман- то в чём?
Под обманом комрад имеет в виду уничтожение конкурентов
всеми доступными средствами от необзаснованных исков и
до интриг.А так то система в целом конечно забагованная...
А конкуренты, конечно, этим не занимались.
И куда телеметрия отсылалась? На BBS?
Эта телеметрия без интернета работала?
Ну, например, утверждали, что в Win'95 старые программы будут работать "лучше и быстрее", а это не так.
К слову, вспомнился первый фолыч — досовскому нужно было 32 Мб, а виндовому хватало 16.
Своп не забыл посчитать?
Мне, как юзеру детали реализации не интересны были. А вот то, что не нужно было делать весьма — по тем временам — дорогостоящий апгрейд, очень даже радовало.
Своп, кстати, и DOS4G позволял организовать. Но оно так работало, что лучше не надо.
В таком стиле и в опенсорсе вендоры тоже выступают.
Ну я не знаю насчет 9х, но начиная с Висты мелкософт начал всех усердно пересаживать на нее под предлогом того, что все проги будут работать на 50% быстрее. Забыл только упомянуть, что это в сравнении с XP на новом железе и что это железо еще придется купить, выкинув на помойку старое, т.к. под старое никто дрова писать не хотел, причем виста требовала в разы более крутое железо. В два раза более крутой проц и в 8 раз больше памяти. А дальше вообще пошел трэш. Мелкософт полностью провалился на мобильном рынке, т.к. думал, что главное назвать ОСь виндой и все и так побегут ее покупать. Когда спохватились, миром правила уже не нокия, которую они купили, а гугель с эпплем. Так что пришлось извращаться и пересаживать всех сначала на 8ку с убогим закосом в мобилки, а потом и на 10ку с телеметрией. Под предлогом того, что 10ка будет последней версией винды. Кто то кончено теперь говорит, что это было вранье от каких-то левых не относящихся к мелкософту людей. Но я думаю, что они сами же запустили этот слух.
В те времена когда ты юзал MS-DOS и Windows 3.1, Майкрософт уже был монополистом и обманщиком.
Возможно. Но потом они совсем оборзели...
Это фундаментальная ошибка.
Оборзели они сразу. Вот прям сразу. Да.
Оборзели они после того как их бейсик всякие фанаты щвабодки крысить стали внаглую. Помню я истерику бородатого по этому поводу: типа да как они посмели на халяву не раздавать? https://mobile.opennet.ru/opennews/art.shtml?num=16830 - тут обсуждалось.
Где ты там в статье слово "Basic" увидел? FSF нахрен не упёрся их вонючий Васик.
А что ему упёрлось? Там прямо такой градус обиды, явно чем-то ему _свободно_ поделиться помешали.
А началось всё именно с васика, да (и у MS он был отнюдь не сраный).
> И Windows 3.1 душевная такая штука, нравилась. Жаль, что потом они скатились в монополизацию, обман пользователей, и некачественное ПО...Судя по тому как она быстро падала, как и Ворд 6, то некачественным оно было уже тогда. Учитывая что пишут про 4-й DOS в сравнении с 3, 5 и 6.
Всегда было иногда получше, но часто плохо.
Неужели сейчас исходники MSDOS пригодятся для линукса?
Врядли. Вот исходники Windows пригодились бы - чтобы посмотреть, как не надо делать.
Как не надо делать - ты в исходниках линукса прямо сейчас посмотреть можешь.
Они годятся, чтобы оценить уровень программирования в названных конторах. Если у кого-то остались сомнения.
Линукс пишут и кормят (ибо платиновые спонсоры) - вот тебе их нынешний уровень.
В 2024 году оценивать уровень программирования конторы по сорцам 1988 года? Наверное можно, но бессмысленно.
Код пишут не конторы, а конкретные люди.
> компания Microsoft объявила об открытии исходных текстов операционной системы MS-DOS 4.0Эх, было время золотое, когда операционны системы не были многозадачными, а представляли собой простой и удобный загрузчик кода приложения, при загрузке которого передавали ему монопольное управление компьютером, а сама DOS по большей части выгружалась из основной памяти и оставляла лишь небольшой загрузчик, не мешающий работе приложения.
Первые Windows представляли собой "переключатель" между загруженными в память приложениями — реализовали модель кооперативной многозадачности, поддерживаемой на уровне процессора i80286.
Не сильно интересовался, как там в самых первых виндах было, но уже третья версия концептуально в общем-то ничем не отличалась от современных.
Мнение - ужас!
Это примерно тоже самое, что "все мы братья-приматы".
А что не так? Разделяемые библиотеки, совместное использование ресурсов, обмен сообщениями, всякие OLE/DDE, вот это всё.
не, ну в приниципе, счёты тоже считают и не отличаются концептуально...
а в чем прикол открытия ассемблерных исходников?
Ещё один…
Ну, наверное назначение переменных без человеческих имен сложнее разобрать.
Ну а так да. По ассеблерным исходникам тяжело разбираться. Например под Win3.1x нет нормальных VESA дров. Чтобы вот как VBEMP. Поставил и все работает. На не так, что надо ставить проприетаные дрова от S3, которые еще вроде ниче, кроме того, что нельзя поставить разрешение побольше для TrueColor, или, не дай бог, Cirrus Logic, которые глюкавые, а править никто уже не будет, ибо adandonware. Есть SDK. Я в школе на ассемблере конечно писал и все понимаю, что написано. На там такой корявый стиль написания, что непонятно, что куда. Нет никакой документации в стиле "Вам надо реализовать такие то точки входа в DLL и они должны уметь то то". Разбирайся сам на примерах.
А DOS серии 3.x не открыли?
Кстати, интересно, почему на ассемблере? UNIX в эти времена давно уже на Си был.
Посмотрите, откуда DOS вообще взялась.
Жаба давит выдавать откуда мерживорурируют , 32 бит тоже так не выбросить. В процессе разработки я лишь только сделал анализ "реально много заговоров"
Я pts-dos по молодости пользовался. Скажу только одно - будешь пользоваться российскими продуктами отстанешь от жизни очень далеко - коллеги будут всегда на несколько шагов в переди.
Не МС ДОСой замечательны ИБМ ПК, и даже не Интель-процессорами. А открытой архитектурой победили ИБМ-совместимые ПК.CP/M (DR-DOS)- вещь.
DR-DOS была побеждена несколько иначе.
Жду исходников телепорта билла гейтса в дум 2
Было бы здорово дропнуть в досе всё легаси, чтобы 16-битного кода там не было. Совместимость со старыми программами - прекратить. Получилась бы интересная операционная система... Хотя, такая уже есть - OS/2.А ещё было бы здорово портануть DOS на не-x86 платформы. Хотя там наверное своих клонов CP/M хватает
эээ, а в досе не было ничего кроме 16-битного кода. Если вы его дропните, то ничего не останется.
Пусть лучше Terraform вновь откроют. Я MS-DOS только по учебникам истории знаю.
Уже не актуально. FreeDOS есть!