Как стать автором
Обновить

Комментарии 103

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В общем очень медленно для процессора в 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

Закончился 3-суточный эксперимент. После комментария выше, я запустил игру на 5 уровне. Некоторые ходы 8088 на 9 МГц думал больше часа. Заметил странные ходы и жертвование фигурами.

1. e2-e4 e7-e5

2. g1-f3 b8-c6

3. f1-b5 g8-f6

4. e1-g1 a7-a6

5. b5-a4 b7-b5

6. a4-b3 f6xe4

7. d2-d4 e5xd4

8. f1-e1 d7-d5

9. b1-c3 d4xc3

10. b3xd5 d8-d7

11. d5xe4 f8-e7

12. d1-e2 c8-b7

13. e4xc6 b7xc6

14. f3-e5 d7-e6

15. e5xc6 c3xb2

16. c1xb2 e7-f6

17. e2-h5 g7-g6

18. h5-c5 e8-d7

19. e1xe6 f6xb2 ---? Почему b2, а не a1 ?

20. e6-e7 d7-c8

21. c6-d4 b2xa1

22. c5xc7

Из-за ответов "ночью", VChess2 насчитал Человеку (которым выступал 8088) много часов раздумий:

Статистика игры с 8088
Статистика игры с 8088

Настройка сложности VChess2:

Для 6 уровня я расчехлил популярный в 2003 году AMD Sempron 2500+ Thoroughbred Socket 462 (Socket A), 1 x 1750 МГц. Загрузился с той же дискеты с DOS 3.30. Всё нормально, кроме раскладки клавиатуры, которая стала несколько необычной - включение Caps Lock зажимает SHIFT.

1. e2-e4 e7-e5

2. g1-f3 b8-c6

3. f1-b5 a7-a6

4. b5-a4 g8-f6

5. e1-g1 b7-b5

6. a4-b3 c8-b7

7. f1-e1 f8-c5

8. c2-c3 e8-e7

9. d2-d4 c5-d6

10. b3-d5 e5xd4

11. e4-e5 f6xd5

12. c1-g5 f7-f6

13. e5xf6 e7-f7

14. f6xg7 d8-c8

15. g7xh8 c8xh8

16. d1-d3 d5-e7

17. c3xd4 c6-b4

18. e1xe7 d6xe7

19. d3-f5 f7-e8

20. b1-c3 h8-f8

21. f5xh7 e7xg5

22. f3xg5 f8-f6

23. a1-e1 e8-f8

24. e1-e7 b7-d5

25. c3xd5 b4xd5

26. e7-f7 f8-e8

27. h7-g8

К ярким недостаткам CHESS отнесу отсутствие уведомления пользователя об ответе - звуковой сигнал не раздается. Который бы уведомил об окончании долговременных расчетов. На 8088 игра напоминает игру по email - долго и не знаешь когда будет следующий ход.

Статистика игры CHESS на Sempron 2500+ (как Human)
Статистика игры CHESS на Sempron 2500+ (как Human)

Расчеты Sempron 2500+ выполнял быстро - пару секунд на ответ, кроме пары ходов где задумывался на десятки секунд. Поэтому больше времени тратил на ввод хода в CHESS и VChess2.

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

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

Вопрос только что из современных инструментов подойдет для этого.

Проблем быть не должно. Это же x86, а не какой-то диковинный процессор.
IDA PRO Freeware 5.0 вполне справится. Ghidra, подозреваю, тоже.

Можно даже что-нибудь из DOS-овских времён откопать и запустить в DOSBox-e.

Спасибо за IDA. В ней нагляднее видно. Особенно то, что эта программа первоначально была написана для Z80.

OEYX\r\nZ80 to 8086 Translator version 2.0\r\n

В комментарии@vitalyvitaly как раз упоминает SCP. Из википедии Source-to-source compiler

SCP TRANS86
Seattle Computer Products' (SCP) offered TRANS86.COM,[15][18][19] written by Tim Paterson in 1980 while developing 86-DOS. The utility could translate Intel 8080 and Zilog Z80 assembly source code (with Zilog/Mostek mnemonics) into .ASM source code for the Intel 8086 (in a format only compatible with SCP's cross-assembler ASM86 for CP/M-80), but supported only a subset of opcodes, registers and modes, and often still required significant manual correction and rework afterwards.[23][20] Also, performing only a mere transliteration,[14][18][9][10] the brute-force single-pass translator did not carry out any register and jump optimizations.[24][25] It took about 24 KB of RAM.[15] The SCP version 1 of TRANS86.COM ran on Z80-based systems.[15][18] Once 86-DOS was running, Paterson, in a self-hosting-inspired approach, utilized TRANS86 to convert itself into a program running under 86-DOS.[22][18] Numbered version 2, this was named TRANS.COM instead.[18][25][24][26][27] Later in 1982, the translator was apparently also available from Microsoft.

Возможно оригинальная версия для Z80 не тормозит как данная версия для 8086. Иначе я не представляю как можно играть на процессоре в несколько мегагерц на высоких уровнях сложности.
IDA выдала List of problems из 27 пунктов с "Can't find name (hint: use manual arg)".

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Ну, речь же шла конкретно о 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 повторилось почти то же самое, новый зоопарк архитектур. Веселые были времена

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

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

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

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

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

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

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

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

Ну, не совсем ... скажем, в нашем промышленном регионе реальная компьютеризация пошла только с самого конца 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. Притом наш регион не был самым бедным.

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

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

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

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

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

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

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

Дебри с совместимостью, да. Вчера заглянул на сайт по семейству MSX и немало впечатлился, найдя там описание "рабочих станций" на этой же архитектуре, но из совместимого там оставался только процессор Z80 и возможно базовый чипсет, а базовый BIOS уже не факт и убраны внешние интерфейсы для картриджей, дисков и клавиатуры. Такое сильно специализированное железо - это уже следующий уровень упертости, запустить на нем хотя бы что-нибудь.

Там был базовый стандарт OC, описывающий все основные вызовы. Предполагалось, что большую часть программ можно написать используя только вызовы ОС и не обращаясь к BIOS или оборудованию.

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

Речь была о "титровальных машинах", сэмплерах и других девайсах, внутри которых тоже оказывается ядро MSX. Интересно, а другие архитектуры тоже порождали таких мутантов? http://www.oldvcr.tv/collection/index.html?Mode=View&Brand=Sony&Model=XV-T600

https://www.msx.org/wiki/Category:Hidden_MSX

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

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

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

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

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

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

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

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

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

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

Ай!

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

Спасибо!

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

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

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

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

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

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

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

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

Судя по строковым константам в 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.

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

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

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

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

Нашлись (по ссылке в предыдущем сообщении) несколько версий Z80 to 8086 Translator.

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Платы от 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. »

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

Шахматы работают на Toshiba T1200 под MS DOS 5.0

Спасибо за наводку @Javian

К слову под 8086 еще надо найти софт, который вообще запустится. Скачиваешь, запускаешь - облом.

У вас кстати что за машина?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории