Недавно обнаружилась дискета с 86-DOS (QDOS) самой ранней из ныне известных версий предтечи PC-DOS и MS-DOS, на которой оказались шахматы. Вот о них и пойдёт речь.

Сами по себе шахматные программы, появлявшиеся с разной периодичностью с середины 1950-х, уже были не в диковинку. Да и в самом 1980-м выпущено под различные платформы с полдесятка. Однако PC-совместимые ПК и DOS для таковых появились в августе 1981-го, в то время как системная дискета с шахматами датируется годом ранее. Вначале шахматы достались в виде com-файла, вытянутого из памяти портируемого мультисистемного эмулятора SIMH, и дальше вопроса с выбором цвета фигур не работали. В связи с чем возникло предположение, что без перекомпиляции не смогут нормально запускаться. А образ дискеты стандарнтыми средствами вроде WinImage, UltraISO, Disk Manager не открывался, и не монтировался в DOSBox. Затем специалистом было осуществлено посекторное копирование игры (chess.com, 6400 байт) и документации (chess.doc, 896 байт) из образа дискеты. И вдруг оказалось, что без проблем запускается под MS-DOS 2.11 и 3.31 в эмуляторе 86Box, MS-DOS Player, NTVDM, FreeDOS и DOSBox-X, хотя и не работает в обычном DOSBox.

Интерфейс предполагает игру не глядя на расстановку, или же использование сторонней шахматной доски. Выбор цвета фигур, ввод ходов и команд осуществляется прописной латиницей, ответные ходы компьютера отображаются строчной. Ходы записываются координатами клеток начала и окончания хода фигуры, через пробел или дефис, W — выбор белых, B — выбор чёрных, R — начать сначала, цифры от 1 до 6 выбирают сложность.

Решил сыграть партию за чёрных на 1-м уровне сложности:

Экран № 1
Экран № 1
Экран № 2
Экран № 2

Визуально ход этой партии выглядит так:

Дебют
Дебют
Миттельшпиль
Миттельшпиль
Эндшпиль
Эндшпиль
Результат
Результат

И вот запись партии в алгебраической нотации:

1. e4 d5 2. Nc3 dxe4 3. Qh5 Qd4 4. Qd5 Qxd5 5. Nxd5 Kd8 6. d3 exd3 7. Bxd3 Be6 8. c4 Nf6 9. Nxf6 exf6 10. Bd2 Bc5 11. Ne2 Nc6 12. Be3 Ne5 13. Kd2 Bb4+ 14. Kc2 Nxd3 15. Kxd3 Bf5+ 16. Kd4 c5+ 17. Kd5 Re8 18. a3 Re5+ 19. Kd6 Rc8 20. axb4 Rc6#

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

Предполагаю, что это портированная шахматная программа Tiny Chess 86 (Intelekt), игравшая во втором чемпионате мира среди шахматных программ на микрокомпьютерах (Second PCW Microcomputer Chess Championship), проходившем в 1979 году в Лондоне. Была прошита на Intel SDK-86, с 4 килобайтами ПЗУ и 1 килобайтом ОЗУ.

Intel SDK-86
Intel SDK-86

Будет интересно узнать:

  • работают ли данные шахматы на настоящем (аутентичном) «железе».

  • название, разработчика, издателя, дату выпуска, конечно если таковые вообще имеются.

  • оценку шахматного мастерства программы, примерный рейтинг Эло.

Спасибо за внимание.

Комментарии (90)


  1. abcdsash
    14.01.2024 13:04
    +2

    да вроде бы для ДОС были шахматы и с интерфейсом для мыши


    1. yevrowl Автор
      14.01.2024 13:04

      Не припоминаю таких ранее 1985 года выпуска.


      1. vadimr
        14.01.2024 13:04
        +3

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


    1. victoriv
      14.01.2024 13:04
      +1

      Вспомнились студенческие времена. Написал крестики нолики на мк-61. Тоже выводило поля цифрами))))


      1. yevrowl Автор
        14.01.2024 13:04

        Да, к сожалению, потерял листинг своей программы на МК-52 (по сути тот же МК-61 с модулем расширения памяти). Хотя в 1989 году удалось портировать алгоритм на ПК посредством Turbo Basic — https://www.mobygames.com/game/190365/twice-crosses-circles/


        1. victoriv
          14.01.2024 13:04
          +1

          А сколько шагов занимало?

          Я чтобы уложится в 105 ячеек, из которых половину занимал "интерфейс", немного ограничил условия: первым ходил калк в центр, а 4 угла рассматривал обобщенно. Но калк не проигрывал никогда )))


          1. yevrowl Автор
            14.01.2024 13:04

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


          1. Jeshua
            14.01.2024 13:04
            +10

            Давно собираюсь написать статью про свой морской бой на МК-61. Это было чертовски увлекательное приключение. Сначала у меня вошла только доска 6х6, но потом с использованием битовых масок все-таки впихнул 10х10. Алгоритм делал случайный обстрел, но если зацеплялся за корабль, то добивал его наглухо. Устроил потом турнир между МК-61 и МК-52. Кстати, генератор поля тоже писал, но это отдельная программа была, я ее потерял. А Морской бой где-то лежит.


            1. yevrowl Автор
              14.01.2024 13:04
              +11

              Дома нашёлся комплект, который не включал с конца 1990-х наверное.


              1. FanzilAlRawi
                14.01.2024 13:04
                +1

                У меня мой МК-61 лежит тоже на полке :)

                105 шагов программы - круть. В Б3-34 было всего 98 :)

                Правда, без ППЗУ.


                1. Sunrise33g
                  14.01.2024 13:04
                  +3

                  105 шагов программы - круть.

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


                  1. kxx
                    14.01.2024 13:04
                    +2

                    Мы повзрослели. Даже не хочется кастомное ядро Linux компилировать.


              1. Galym_K
                14.01.2024 13:04
                +1

                У меня тоже в детстве были Б3-34 МК-52 МК-61 и т.д. но не сохранились. Зато до сих пор держу Электронику МК-85 - почти в идеале и до сих пор работает!


    1. bolk
      14.01.2024 13:04
      +1

      Это не та DOS, речь о 86-DOS, причём версии 0.11. Это предтеча широко известной позже ОС MS-DOS/PC-DOS.


  1. Javian
    14.01.2024 13:04
    +6

    не работает в обычном DOSBox

    Несколько последних месяцев развлекаюсь с немецкой машиной 1988 года на 8086. Постепенно появилось впечатление, что она работает в некоторых случаях не как Dosbox и Virtualbox... Всякие демки для 8086 запускаются через раз. "Офисное ПО" работает. Железная конфигурация несколько отличается от каноничных Intel. Может и тут для шахмат используются какие-то железные особенности+ DOS.


    1. yevrowl Автор
      14.01.2024 13:04
      +1

      Получится ли запустить на пробу эти шахматы?

      Размещены в каталоге — http://old-dos.ru/index.php?page=files&mode=games&do=show&id=103549


      1. Javian
        14.01.2024 13:04
        +3

        Правильно я понимаю инструкцию?
        Приглашение выбрать цвет шахмат - вводим W или B

        Приглашение выбора уровня сложности - Вводим цифру от 1 до 6

        Вводим свой ход в формате заглавными E2-E4
        Видим ответ в формате прописных.


        1. yevrowl Автор
          14.01.2024 13:04

          Совершенно верно.


          1. Javian
            14.01.2024 13:04
            +2

            В общем очень медленно для процессора в 10Мгц. На 2 уровне еще можно дождаться ответа (до минуты и меньше), а на 5 уровне десятки минут. На 6 уровне страшно представить сколько обдумывает один ход.

            CHESS на 8088 9,54 MHz (черные) проиграл Virtual Chess 2 (i5-2520 2,5GHz)

            1. e2-e4 e7-e5

            2. g1-f3 b8-c6

            3. f1-b5 d8-f6

            4. b1-c3 a7-a6

            5. c3-d5 f6-d6

            6. b5-c4 g8-f6

            7. d5xf6 d6xf6

            8. e1-g1 f8-c5

            9. d2-d3 b7-b5

            10. c1-g5 f6-d6

            11. c4-d5 h7-h6

            12. d5xc6 d7xc6

            13. g5-h4 c8-d7

            14. h4-g3 c5-d4

            15. c2-c3 d4-c5

            16. g3xe5 d6-g6

            17. b2-b4 c5-d6

            18. e5-g3 e8-e7

            19. e4-e5 d7-g4

            20. f1-e1 d6xb4

            21. c3xb4 g4-f5

            22. f3-h4 g6-e6

            23. h4xf5 e6xf5

            24. a1-c1 h8-d8

            25. c1xc6 f5xd3

            26. d1xd3 d8xd3

            27. c6xc7 e7-e6

            28. g3-h4 a6-a5

            29. c7-e7 e6-f5

            30. e7xf7 f5-g6

            31. e5-e6 a5xb4

            32. f7-d7 d3xd7

            33. e6xd7 g6-h5

            34. e1-e8 h5xh4

            35. e8xa8 h4-g5

            36. d7-d8 g5-g6

            37. d8-d5 g6-f6

            38. a8-a6 f6-e7

            39. d5-b7 e7-f8

            40. a6-a8


    1. JordanCpp
      14.01.2024 13:04
      +3

      Всякие демки для 8086 запускаются через раз.

      Возможно ПК уже очень уставший. Прошло более 30 лет.


      1. Javian
        14.01.2024 13:04
        +6

        У него с завода 512кБ ОЗУ. Собственный немецкий BIOS. Разгон от базовых 4 до турбо 9 МГц.


        1. Sap_ru
          14.01.2024 13:04
          +5

          Это XT ранних версий. Похоже что ещё и что-то из советского блока. Причём с некоторыми нестандартными решениями (а именно - таймер и контроллер прерываний).
          А эмуляторы сейчас AT эмулируют и всякие расширения XT в сторону.
          Кроме того у вас BIOS от XT и тоже очень ранний версий, когда стандарты ещё толком не выработались. Оно и на самом деле так работало - половина не запускалась, половина работала не совсем так, а третья половина требовала хитрых патчей ОC b BIOS, колторые в те времена были ого-го как распространены.


          1. Javian
            14.01.2024 13:04
            +1

            Это Западная Германия. Проц Siemens 8088


    1. Astrolux78
      14.01.2024 13:04
      +2

      У этой машины процессор 8088, а не 8086. Демо для 8086 там и не обязаны работать. У различных 8088 частота работы процессора может отличаться. Какие конкретно демки у вас запускаются через раз? Могу попробовать на своём Shneider Euro PC. Кстати, вы батарейку с материнской платы удалили, или хотите сыграть в лотерею, когда она вытечет? :)
      Если это ваше фото, то лично меня, как коллекционера, оно пугает.

      Что значит "каноничные Intel"? Intel в то время не выпускала никаких плат и компьютеров, каноничной была плата от IBM PC/XT.


      1. Javian
        14.01.2024 13:04
        +1

        Батарейка там давно вытекла, была заменена когда-то на новую, которую уже я заменил на 2032, но надолго её в отключенном состоянии не хватило.

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

        Не такая уж большая разница?


        1. Astrolux78
          14.01.2024 13:04
          +2

          Для демок - очень большая. По сути, другой процессор. Платы на 8088 и 8086 не совместимы друг с другом. Обращали внимание, что у Shneider Euro PC в BIOS есть выбор частоты процессора? 4.77, 7.15 и 9.54.


          1. Javian
            14.01.2024 13:04
            +1

            Вопрос не в железе, а в коде который на них запускают.
            На www.pouet.net не пишут процессор, а только "platform : MS-Dos".
            ДОС пошел - значит и софт пойдет, может быть. Пришлось скачивать всё подряд и проверять на запуск на этом процессоре.


            На 9.54 демо заметно лучше бежит чем 4.77. С играми тоже самое. Только без контроллера XT-IDE особо не разгонишься на 720кБ и проверял самые простые игры.


        1. Sap_ru
          14.01.2024 13:04
          +1

          8086 не совместим по системе команд с 8088. В обратную сторону совместимость почти полная - код 8088 работает на 8086. Но даже в эту сторону архитектурная совместимость не полная - как минимум есть отличия в обработке прерываний из-за различной длины конвейера и специфики обработки прерываний во время исполнения некоторых команд и вложенных прерываний. При этом правильно написанный код для 8088 всё же должен исполняться на 8086 без проблем.


          1. vitalyvitaly
            14.01.2024 13:04
            +1

            Интересно, как NEC V20/V30 выглядят на этом фоне. Получается, что есть еще как минимум два возможных варианта? (286 и выше не берем). А прочие, более редкие клоны 8088/8086?


            1. Javian
              14.01.2024 13:04
              +1

              Прирост "a 10-20% speed", и процессор меньше греется.


              1. vitalyvitaly
                14.01.2024 13:04
                +1

                Имелись в виду чисто программные отличия, конечно (за исключением еще одного широко известного - режима 8080 в процессорах NEC). Можно сюда и К1810 вписать, и 80186, и любые редкие клоны 8088


                1. Javian
                  14.01.2024 13:04
                  +1

                  К началу 90-х покупателям еще не было необходимости в "100% IBM-совместимых" компьютерах. Дисководы другого формата и емкости, другие ОС., другие архитектуры процессоров. Поэтому мелкие отличия не были настолько значимыми, как другая архитектура. Такие пустяки можно было учесть в ПО.


                  1. vitalyvitaly
                    14.01.2024 13:04
                    +2

                    Это имеется в виду, что в x86 все шло совместимо снизу вверх с точки зрения большинства рядовых юзеров. Отдельные отличия даже по поколениям сильно "погоды не делали". Но кстати, говорят, что так было не во всех "экосистемах". Моторола в 68k достаточно сильно варьировала систему команд и поддержку расширений между разными процессорами.


                    1. Sap_ru
                      14.01.2024 13:04
                      +1

                      Погоду делали и сильно. Тот же PC JR от самой IBM должен бал стать прорывом, а стал провалом. В то же время некоторые кривые решения вроде управления линией "A20" отлично приживались.


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +2

                        Ну, речь же шла конкретно о CPU, а процессор в PcJr стоял точно такой же 8088, там отличия были в аппаратной части и поддержке картриджей. Поэтому специфический софт для JR в те времена юзерами обычных клонов PC не коллекционировался и был для них бесполезен. Зато сейчас JR хорошо эмулируется опцией DosBox, помню, как в его версию River Raid играл.

                        Собственно, например, у Commodore было много линеек компьютеров на одном и том же процессоре 6502(6510) - PET, VIC 20, C64, Plus 4, C128. Это без учета многочисленных подмоделей и поколений, которых только у PET было около пяти. Где-то совместимые снизу вверх (64/128), где-то по исходникам после перекомпиляции (Vic20/C64), где-то вообще совсем левая линейка сама по себе (Plus 4), где-то пять поколений одной модели с серьезными аппаратными различиями (PET). И это еще не все "богатство". Не меньший зоопарк породили на одних и тех же CPU Атари, Амстрад, MSX, Apple и т.д. Плюс иногда перепиленные клоны, а иногда совсем самостоятельные машинки от легиона других не столь известных фирмочек. И это только в пределах 8 бит, потому что на 16 и 32 повторилось почти то же самое, новый зоопарк архитектур. Веселые были времена


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +2

                        Совместимость по CPU x86 снизу вверх означала, что теоретически было возможно заменить любой процессор 8088 в своем гнезде на своих потомков вплоть до линейки 486. Естественно, при помощи хитрых аппаратных костылей, но такие наборы существовали. Мне не ясно, как при этом работал защищенный режим 386, но по крайней мере, сильно ускоренный реальный режим 286/386/486 пользователь такого Франкенштейна на плате XT должен был получить. Между тем, с Моторолой 68040 ситуация была, видимо, сложнее,и там само ядро эволюционировало в сторону от старого 68000 достаточно сильно, и еще больше в следующем процессоре 68060.


                      1. yevrowl Автор
                        14.01.2024 13:04

                        Да, слыхал о модификациях XT/PCJr с Intel 80188, однако сталкиваться наяву не приходилось.


                      1. Sap_ru
                        14.01.2024 13:04
                        +1

                        Оно использовалось для апргрейда прежде всего и для экономии количества чипов памяти на плате. 188 на самом-то деле хороший прирост производительности давал, а 80186 на некоторых задачах был 30% и более быстрее 8086 на той же частоте.


                      1. Sap_ru
                        14.01.2024 13:04
                        +3

                        Это были отдельные чипы для апгрейда с очень спорными характеристиками.
                        Кроме процессора есть ещё адресная шина, память, контроллер прерываний, шина ввода. Всё это строго привязано к конкретному поколению. Кроме того быстродействие шины тогда от поколения к поколению изменялось в разы.
                        80386 нельзя засунуть в плату 8086 просто потому, что шина и ввод-вывод не поддерживает необходимого функционала. Ну и ещё потому, что процессор 386 дороже и сложнее чем вся плата 8086 в сборе.
                        Можно было засунуть 186 в плату 8086/8088.
                        Можно было засунуть 286 в плату 186. Но более простая шина и тактовые частоты памяти приводили к тому, что прирост скорости был хорошо если 20% вместо двух-трёх раз.
                        Можно было засунуть специальные шайтан-версии 386 в 286. Но 386 для работы нужен кэш и более быстрая и широкая шина. Поэтому скорость получалась в три раза меньше"настоящего" 386. Да, и объём памяти у 286 был 1 МБ и что там делать 386 не ясно.
                        Специальные версии 486 можно было засунуть в 386. Но разница в работе кэша и памяти сильно уменьшала прирост производительности.
                        И стоимость этим специальный чипов и плат была такая, что смысла все эти апгрейды не имели.
                        Начиная с 486/586 шина более менее стандартизировалось и чипы для апгрейда получили некий смысл. Но скорость кэш-памяти и разница в ширине шины всё равно сильно ограничивали возможный прирост приозводительности.
                        Только с массовым переходом на шину 64-бита всё это по-настоящему расцвело и запахло.


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +1

                        Ограничение системной памяти в 1 мегабайт - это 8086. 286 тянул из коробки уже все 16, чем пользовались, ранние версии OS/2.


                      1. Sap_ru
                        14.01.2024 13:04
                        +1

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

                        И кстати та OS/2, которая могла работать на 286 это обычно вовсе не та OS/2, о которой все думают :) Это очень ограниченная и ублюдочная 16-битная версия, у которой даже графического окружения большую часть её существования не было (консольная 16-битная OS/2 это, господа, это та ещё силища невероятная).


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +2

                        По крайней мере, на поздние бюджетные платы 286, где стояли 4xSIMM 30 Pin, поставить хотя бы 4 мегабайта ОЗУ было несложно. Эта память была точно такой же, которая шла в 386 и ранних 486 материнских платах. Можно было снять оттуда и поставить на 286. У меня была такая платка с крутым процессором Harris 25 Mhz. Совершенно точно будут работать верхняя память XMS, эмуляция EMS, в результате можно будет получить кучу ценной системной памяти в нижних 640 Кб и поиграть во многие крутые поздние DOS-аркады, которым важна была именно эта нижняя память (скажем, 605 кб или около того - чего на XT/8088 достичь было нереально). Также будет работать и увидит все эти 4 мегабайта чистая Windows 3.1 и будут работать ее приложения типа Word 2.0 и Office 6.0 - что тогда очень ценилось, в отличие от оставшейся экзотикой OS/2. C использованием доп. ОЗУ игрушками несколько сложнее, но кое-какие из них могли пойти и на конфигурации вида 286-2 Мб. Но многим нужен был хотя бы 386SX-1 Мб, а лучше 2 или 4 ....


                      1. Sap_ru
                        14.01.2024 13:04
                        +1

                        4МБ это вообще максимум для большинства плат 286. Хотя бы... Платы с большим возможным объёмом появились уже в самом конце.
                        Слотовая SIMM память появилась уже на закате 286 - в начале 90-х, когда Intel уже полностью прекратила выпуск этих процессоров.
                        Даже патент на неё и сам стандарт появились за три года до полного прекращения выпуска 80286. Поэтому подавлющее большинство плат 286 имели память с чипами на сокетах, а платы на SIMM-слотах это большая редкость и выпускались уже для апгрейда старых компьютеров в то время, когда 80286 уже считался старьём.


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +2

                        Ну, не совсем ... скажем, в нашем промышленном регионе реальная компьютеризация пошла только с самого конца 80х, и я будучи еще школьником, застал практически все ее этапы, кроме ранних PC, и почти все эти компьютеры приходили на предприятия еще новыми буквально при мне - застал я и только-только пришедший в организацию клон XT, где была только командная строка и игрушка Alley Cat (водили показывать), и Роботрон с 512 кб памяти видел, и Амстрад 1640 - более того, я даже начинал на таком работать, потому что осенью 1994 года он еще вполне фурыкал в местном ИВЦ и там программировали на Клиппере. А компьютеров выше 286 на тот момент там вообще в залах не было. А в школе мы ходили получать со склада первые три 286/12 зимой 1992/93. 286-ки стояли как рабочие машинки и в местных банках, списывать их начали только весной 1997 года. Собственно, до прихода Windows 95 все это активно юзалось - базы данных на Клиппере, рабочие места, терминалы. НО. Я уверен, что в столицах все было немного не так. В Москве в институтах вовсю ставили 486DX2 уже к весне 1994 года (я лично видел). В нашей местной шараге 486SX2 появились года на 3 или 4 позже. До того стояли 286 для студентов, у препода был 386 и где-то даже торчала ЕС-1840. Притом наш регион не был самым бедным.


                      1. Javian
                        14.01.2024 13:04
                        +1

                        Как иллюстрация к комментарию. Есть у меня ПК, купленный в 1992 году, с такой маплатой. Даты на использованных деталях - 1991 год.


                      1. vitalyvitaly
                        14.01.2024 13:04
                        +2

                        Кстати, интересный момент - на XT и AT-286 разные блоки питания, корпуса и клавиатуры. Поэтому апгрейдить XT-шку желательно было чем-то вроде Turbo XT. Даже жесткие диски разные, хотя и винчестеры и клавиатуры были и переходные под два стандарта с переключателем.


                      1. Sap_ru
                        14.01.2024 13:04
                        +2

                        Очень известная плата и очень неплохая. Единственный минус в том, что в 1991 году Intel уже прекратила выпуск 80286, объявив их устаревшими. На тот момент даже 386SX уже так себе был. Вот, на основе старых плат от i386SX и появились доступные платы для 286. Туда ставили самые медленные чипы кэш-памяти, которые для 386 практически не годились.


                      1. Javian
                        14.01.2024 13:04
                        +1

                        Можно об этом только сказать комментарием к статье на Хабре 2011 года - "Веселое время было".

                        У меня все игры из поста шли на клоне XT с процем NEC V20 и 1М ОЗУ. Веселое время было.


                1. Sap_ru
                  14.01.2024 13:04
                  +1

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


                  1. vitalyvitaly
                    14.01.2024 13:04
                    +1

                    Кто-то даже клон IBM PC со встроенной поддержкой спрайтовой графики смастерил тогда (забыл название, но видел ролики с этим компьютером.)


          1. RCgoff
            14.01.2024 13:04
            +2

            Ваш комментарий ошибочен. Наверное, вы спутали названия процессоров. 86 и 88 процессоры имеют идентичную систему команд


            1. Sap_ru
              14.01.2024 13:04
              +2

              А, вот, мне помнится, что было два способа отличить 8088 от 8086 не прибегая к прямому сравнению производительности.
              Первый способ был связан с различной глубиной очереди предвыборки команд: меняем байты впереди по ходу программы и смотрим глубину очереди.
              А второй - с командами 16-битного ввода вывода.
              Помнится, там команды ввода-вывода исполнялись "как есть" без всяких преобразований разрядности и 8- и 16-битные порты были на самом деле разными портами. Из-за этого команды вида "IN AX,DX" на 8088 работали неправильно.
              Как-то так. Но могу и ошибаться, конечно.


              1. RCgoff
                14.01.2024 13:04
                +1

                Это из фирменного мануала. Там еще в другом месте растактовка, из всего следует, что по команде IN AX, DX процессор 8088 должен сделать два 8-разрядных чтения по адресу [DX] и [DX+1], а 8086 либо одно 16-разрядное, либо два в зависимости от четности значения в DX

                По поводу длины очереди - все так


                1. Sap_ru
                  14.01.2024 13:04
                  +1

                  Но также там написано, что периферия должна уметь работать с регистрами 16 бит, как 2x8. Там была куча переферии, которая могла работать только в 16 бит или только в 8 бит, ибо, делать универсальную дорого. И ещё больше такой, которая вела себя по разному при 8- и 16-битном обращениях. В частности это был стандартный контроллер прерываний XT, если память не изменяет. Он умел и в 8 и в 16 бит, но при этом нужно было работать немного по-разному.


                  1. Sap_ru
                    14.01.2024 13:04
                    +3

                    И да, 16-битное обращение по нечётному адресу в те времена с вероятностью в 99% (100?) случаев приводило к неприятным последствиям, так как логика периферии была очень простой и по чётным адресам защёлкивала младшие 8 бит, а при обращении по нечётным отрабатывала 16-битное обращение используя ранее защёлкнутое значение. Поэтому 8-битное обращение к старшему байту порта без предварительного обращения к младшему оканчивалось записью в порт 16-битного слова со случайным значением младшего байта.


    1. askhats
      14.01.2024 13:04
      +1

      В детстве, в конце 80-х, дома стоял Роботрон СМ1920. Так он был не полностью совместим с классическим IBM PC. Какие-то игры не запускались вообще, какие-то клавиатуру не видели.


  1. JordanCpp
    14.01.2024 13:04
    +19

    Затем специалистом было осуществлено посекторное копирование игры (chess.com, 6400 байт) и документации (chess.doc, 896 байт) из образа дискеты. И вдруг оказалось, что без проблем запускается под MS-DOS 2.11 и 3.31

    Без unity, Net и тонны js скриптов?:) Во времена были!


    1. Nurked
      14.01.2024 13:04

      https://habr.com/ru/news/786244/ Мы тут с @tyomich пару лет назад так 2048 переписали для винды.


      1. kotlomoy
        14.01.2024 13:04
        +4

        По ссылке дверь для кошек


        1. Nurked
          14.01.2024 13:04
          +1

          Ай!

          https://habr.com/ru/companies/ruvds/articles/579444/

          Спасибо!


    1. viordash
      14.01.2024 13:04
      +4

      unity, Net и тонны js скриптов

      а разве они нужны для запуска? Может для UI? Которого и нет в этих шахматах


      1. JordanCpp
        14.01.2024 13:04
        +7

        Это же шутка, с долей правды и отсылкой к современному софту.


        1. yevrowl Автор
          14.01.2024 13:04
          +2

          Действительно, программное обеспечение состоящее ровно из одного исходника безо всяких библиотек и ресурсов нынче не в моде. ÷)


        1. viordash
          14.01.2024 13:04
          +4

          я без претензий :)

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


  1. Maccimo
    14.01.2024 13:04
    +13

    Будет интересно узнать:

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

    Судя по строковым константам в com-файле, эта программа портирована с Z80:

    По подстрокам «Ply depth» и «Z80» нашлось вот это: https://github.com/billforsternz/retro-sargon

    The book "Sargon, a computer chess program", by Dan and Kathe Spracklen published by Hayden in 1978 presents the source code to the classic early chess program Sargon in Z80 assembly language. This is a project to bring the code presented in the book back to life in the modern era.

    То ли это что надо, или просто совпадение, утверждать не берусь.


    1. yevrowl Автор
      14.01.2024 13:04

      Спасибо за информацию. Да, со ссылкой на скачивание дал промашку. В com-файле видел отсылку к Zilog Z80, но решил не нагружать читателей своими дилетантскими рассуждениями. Сейчас вот программу для трансляции кода попробуем найти.

      Похоже, что Tiny Chess 86, сделанные изначально для процессоров 8086/8088, отпадают. И, вероятно, Sargon является более перспективным вариантом.


      1. Sap_ru
        14.01.2024 13:04
        +1

        Вам просто нужен эмулятор ОС CP/M на Z80, коих в природе было много. Там как раз COM-файлы были и Z80 как самый ходовой процессор. Другое дело, что CP/M это такой мутный стандарт был, что совместимость не гарантируется вообще никак.


  1. SadOcean
    14.01.2024 13:04
    +4

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


    1. vadimr
      14.01.2024 13:04
      +4

      Вообще шахматы с графически нарисованной доской более-менее современного вида были ещё для 8-разрядного Apple II в 1970-е годы. А тут, видимо, авторы просто себя не хотели затруднять визуальным представлением.


      1. yevrowl Автор
        14.01.2024 13:04

        С учётом года выпуска этой шахматной программы, первые PC-совместимые ПК имели на борту 16 килобайт оперативной памяти, в которые помимо самих шахмат помещался ещё и PC/MS-DOS (86-DOS). Запихнуть в этот объём ещё и интерфейс с управлением, думается, не такая уж и тривиальная задача.


        1. vadimr
          14.01.2024 13:04
          +2

          В 16 килобайтах MS-DOS работать не мог. Да и вообще такая конфигурация была страшной экзотикой для PC. Более-менее распространённые компьютеры имели не менее 512 килобайт памяти.

          С другой стороны, графическая программа для Apple II, на которую я привёл ссылку, работала на 48 килобайтах вместе с Apple DOS.


          1. yevrowl Автор
            14.01.2024 13:04
            +1

            Да, но ведь программа создавалась, когда ни PC ни MS-DOS ещё не существовало. И только появившиеся предтечи PC-совместимых имели от 16 КБ оперативной памяти на борту.

            Мой рекорд для игровой программы с графикой: 128 КБ памяти и DOS 2.x — https://www.mobygames.com/game/203123/rock-paper-scissors-lizard-spock/


            1. vitalyvitaly
              14.01.2024 13:04
              +3

              На 32 Кб ранние версии DOS загрузятся, от 0.9 до 2.0 - я как-то проверял. Больше ничего, окромя может быть basic.com. На 48 Кб уже можно кое-что запустить, но только очень редкие и старые программки - проверял я как-то и такой мазохизм. Отдельные экземпляры софта, способные работать с такой куцей конфигурацией и CGA, действительно есть. Реверси работали размером примерно в 5 килобайт и какая-то примитивная викторина, написанная в 1989 году, тоже не бог весь что.


        1. Gummilion
          14.01.2024 13:04
          +2

          Для БК-0010 с 16 КБ оперативки вполне себе были шахматы с доской, так что вполне реально запихнуть. Правда, нотация там была своеобразная, помнится.


      1. SadOcean
        14.01.2024 13:04
        +1

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


        Если посмотреть многие программы тех лет - там вложенность и количество пунктов большое, возможностей прилично но интерфейс все равно командный (с выбором чиселок)


        1. vadimr
          14.01.2024 13:04
          +1

          Графический интерфейс в целом Apple в народ двинула, а на PC он сильно распространился после Windows. Хотя графические игрушки и под MS-DOS были многочисленные


  1. OrtoXylene
    14.01.2024 13:04
    +1

    запуститься под Dos 5.0? завтра включу 386, проверю.


    1. yevrowl Автор
      14.01.2024 13:04

      Вот и мне интересно. По идее, вполне могут, поскольку интерпретатор командной строки в DOSBox-X определяется как DOS 5.00.


      1. commanderxo
        14.01.2024 13:04
        +11

        Попробовал запустить на Intel 8088 на плате Micro 8088, MS-DOS 5.00, даже немецкая нашлась.

        Шахматы заработали без проблем


      1. OrtoXylene
        14.01.2024 13:04
        +1

        на моём 386 с DOS 5.0 запустилась без проблем и работает. Попробую поиграть.

        программа принимает только заглавные буквы.

        и заметно долго думает )))

        на третьем уровне я проиграл. для визуализации на большом компьютере запустил chess-board.ru.

        попробую завтра сына посадить поиграть )


    1. Javian
      14.01.2024 13:04
      +1

      Под DOS 3.30 запускается. Вообще это .COM - от ОС не должен зависеть.


      1. Maccimo
        14.01.2024 13:04
        +1

        Там вместо традиционного досовского int 21h используется CP/M-овский call 5 и его, похоже, эмулирует не только лишь каждый клон ДОСа.


  1. ovn83
    14.01.2024 13:04

    https://youtube.com/watch?v=Bflp32tdat4&si=D7TB557OE9S-_bzB


    1. Javian
      14.01.2024 13:04

      1. yevrowl Автор
        14.01.2024 13:04

        Это версия шахмат для Apple II, вот опубликовал в Википедии.


  1. chv
    14.01.2024 13:04
    +7

    У меня есть проект, который позволяет легко запускать и прикручивать к современным шахматным GUI шахматную программу из 70-х — CHEKMO-II. https://github.com/okalachev/chekmo


  1. hw_store
    14.01.2024 13:04

    Извините за тупой, возможно, вопрос, а под какое семейство машин была создана эта ОС? ведь IBM PC вышел только в 1981.


    1. commanderxo
      14.01.2024 13:04
      +2

      Если верить википедии, 86-DOS была портом CP/M на 8086 процессор выпущенным в 1980 г., а значит какой-то рынок устройств существовал ещё до выхода IBM PC.

      Тогда вообще интересное время было, например у меня есть OIivetti M24 1986 г. выпуска, полностью 16-битная с 8086 (а не 8088 как у IBM), в которую можно вставить на специальной плате Z80 и запускать CP/M.


      1. vitalyvitaly
        14.01.2024 13:04

        Платы от Seattle Computer Products с дисковым контроллером Cromemco c 8-дюймовыми дисками или Tarbell. «Founded in 1978, SCP began shipping its first S-100 bus 8086 CPU boards to customers in November 1979, about 21 months before IBM introduced its Personal Computer which was based on the slower 8088 and introduced the 8-bit ISA bus. SCP shipped an operating system for that hardware about a year before the release of the PC, which was modified by Microsoft for the PC and renamed IBM PC DOS. »


    1. RCgoff
      14.01.2024 13:04
      +1

      Ответ у Тима Патерсона, автора 86-DOS