Совместимость между 86-DOS (QDOS) и остальными DOS

Софт только для использования в DOS

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 11 янв 2024, 03:50

IOS писал(а):
yevrowl писал(а): образ дискеты версии 0.11 (0.1c) распаковать не удаётся. Ни одна известная мне программа для работы с образами дискет не распознаёт.

Какими пробовали?

Стандартными: WinImage, UltraISO, Disk Manager.

ppp писал(а):Выдрано

Прекрасная новость, спасибо!

.::. Typucm .::. писал(а):ppp, спасибо! Шахматы работают (dosbox-x или msdos-player - норм; в обычном dosbox через VC не пробовал, должно тоже пойти).

Да, запускается и под Volkov Commander.

P. S. Кстати, сделал виртуальную машину IBM PC XT с Intel 8088, 64 килобайтами оперативной памяти, и адаптером MDA. Результат на скриншоте, но запустить пытался вытащенную из эмулятора версию (как выяснилось, не корректную).
Вложения
monitor.png
monitor.png (7.87 Кб) Просмотров: 9136
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 11 янв 2024, 06:09

IOS писал(а):CHESS.COM работает в 32-разрядной Windows 8 на встроенной NTVDM. 8-)

Работает и в 64-разрядной Windows 10 на NTVDM x64, только ходы странные выдаёт...

chess-error.png
chess-error.png (2.77 Кб) Просмотров: 9110


chess-board.png
chess-board.png (6.54 Кб) Просмотров: 9117
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение ppp » 11 янв 2024, 06:20

Первый ход программы был
e2 e4.
А на доске его нет.
ppp
Матерый даунгрейдер
 
Сообщения: 71
Зарегистрирован: 27 июл 2023, 18:41

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 11 янв 2024, 13:52

ppp, да, вот сейчас разыграл с программой один из вариантов Скандинавской защиты. Играет корректно, и даже на первом уровне сложности никак не слабее III взрослого разряда.
Вложения
chess_1.png
chess_1.png (1.24 Кб) Просмотров: 9073
chess_2.png
chess_2.png (1.18 Кб) Просмотров: 9063
chess_3.png
chess_3.png (948 байт) Просмотров: 9065
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение .::. Typucm .::. » 11 янв 2024, 14:36

Первое, ввод B или W.
Второе, ввод цифры сложности.
Третье, ввод строго в формате написания "E2-E4", иначе не понимает.
Программа же отвечает в формате "e2-e4", чтобы видеть разницу чьи хода. Ну и в справке может ещё какие то нюансы указаны по шахматам.
Не стесняйтесь думать. Неэффективно пытаться помочь людям, которые не желают помогать себе сами.
Нормально чего-то не знать, прикидываться идиотом - нет.
Аватара пользователя
.::. Typucm .::.
 
Сообщения: 555
Зарегистрирован: 28 янв 2022, 22:43

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 11 янв 2024, 15:08

Вначале упомянутую в прошлом сообщении партию пытался играть по памяти, но после 8-го хода задействовал доску. И ещё экспериментировал. Оказалось, программа не все современные шахматные правила знает: троекратное повторение позиции и правило 50 ходов. Хотя всё это, в общем, к официальным турнирам относится.
Вложения
PARTY-1.png
PARTY-1.png (4.18 Кб) Просмотров: 9042
PARTY-2.png
PARTY-2.png (3.92 Кб) Просмотров: 9037
PARTY-3.png
PARTY-3.png (3.99 Кб) Просмотров: 9040
PARTY-4.png
PARTY-4.png (3.59 Кб) Просмотров: 9037
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение .::. Typucm .::. » 12 янв 2024, 00:33

"CHESS.COM – это примитивная шахматная игра для командной строки без графики. Cherryhomes считает это любопытным дополнением к диску и задается вопросом, поместил ли его туда владелец этой копии. Трудно сказать, было ли это более поздним дополнением к оригинальному диску без метки времени.…"

https://www.tomshardware.com/software/o ... haeologist
Последний раз редактировалось .::. Typucm .::. 12 янв 2024, 00:38, всего редактировалось 1 раз.
Не стесняйтесь думать. Неэффективно пытаться помочь людям, которые не желают помогать себе сами.
Нормально чего-то не знать, прикидываться идиотом - нет.
Аватара пользователя
.::. Typucm .::.
 
Сообщения: 555
Зарегистрирован: 28 янв 2022, 22:43

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение IOS » 12 янв 2024, 10:00

.::. Typucm .::. писал(а):смотреть нужно в сторону утилит с поддержкой образов для 8 дюймовых дискет и возможно настройка под правильную разбивку даст ее посмотреть пофайлово. А пока что - только в эмуляторе.

В MSDOS.ASM есть история изменений
Код: Выделить всё
; 0.42 02/25/81 32-byte directory entries added
; 0.56 03/23/81 Variable record and sector sizes
; 0.60 03/27/81 Ctrl-C exit changes, including register save on user stack
; 0.74 04/15/81 Recognize I/O devices with file names
; 0.75 04/17/81 Improve and correct buffer handling
; 0.76 04/23/81 Correct directory size when not 2^N entries
; 0.80 04/27/81 Add console input without echo, Functions 7 & 8
; 1.00 04/28/81 Renumber for general release
; 1.01 05/12/81 Fix bug in `STORE'
; 1.10 07/21/81 Fatal error trapping, NUL device, hidden files, date & time,
;               RENAME fix, general cleanup
; 1.11 09/03/81 Don't set CURRENT BLOCK to 0 on open; fix SET FILE SIZE
; 1.12 10/09/81 Zero high half of CURRENT BLOCK after all (CP/M programs don't)
; 1.13 10/29/81 Fix classic "no write-through" error in buffer handling
; 1.20 12/31/81 Add time to FCB; separate FAT from DPT; Kill SMALLDIR;
;               Add FLUSH and MAPDEV calls; allow disk mapping in DSKCHG;
;               Lots of smaller improvements

https://github.com/microsoft/MS-DOS/blo ... DOS.ASM#L8

В 0.42 появились 32-байтные directory, а в 1.20 Тим убрал код для чтения ""старых" 16-байтных.
Если взять какую-то версию 86-DOS от 0.42 но перед 1.20, то можно читать и писать дискеты и в "старом", и в "новом" формате.
Соблюдайте праила этикета и не спамте!
https://sigcomments.com/core/chat/init_ ... hat_id=555
Аватара пользователя
IOS
Мастер Даунгрейда
 
Сообщения: 220
Зарегистрирован: 18 июл 2023, 09:10
Железо: Гантельки 5 кг

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 13 янв 2024, 11:28

Ещё одна партия, с проходными пешками, превращения автоматически только в ферзей.

Изображение Изображение Изображение Изображение Изображение

Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение

https://www.chess.com/openings/Alekhine ... -Variation
Последний раз редактировалось yevrowl 13 янв 2024, 15:21, всего редактировалось 1 раз.
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 14 янв 2024, 05:24

Оказалось, что запускаются и во FreeDOS.
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 14 янв 2024, 15:27

Опубликовал статью — https://habr.com/ru/articles/786234/
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение yevrowl » 14 янв 2024, 21:34

Похоже что работают и на аутентичном «железе».
Вложения
8088.jpg
truechess.org — dice endgames website.
Аватара пользователя
yevrowl
Мастер Даунгрейда
 
Сообщения: 132
Зарегистрирован: 13 май 2022, 12:01

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение ppp » 15 янв 2024, 03:48

Оригинальный Sargon с псевдографикой.

https://web.archive.org/web/20070614114 ... argon.html
ppp
Матерый даунгрейдер
 
Сообщения: 71
Зарегистрирован: 27 июл 2023, 18:41

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение IOS » 16 янв 2024, 18:28

86-DOS 0.11 BIOS для IBM PC (ретропортирование)

https://forum.vcfed.org/index.php?threa ... st-1360046

Также листинг собственно 86-BDOS
https://github.com/RichCini/SCP/blob/ma ... 10_dos.asm
Последний раз редактировалось IOS 16 янв 2024, 18:33, всего редактировалось 1 раз.
Соблюдайте праила этикета и не спамте!
https://sigcomments.com/core/chat/init_ ... hat_id=555
Аватара пользователя
IOS
Мастер Даунгрейда
 
Сообщения: 220
Зарегистрирован: 18 июл 2023, 09:10
Железо: Гантельки 5 кг

Re: Совместимость между 86-DOS (QDOS) и остальными DOS

Сообщение IOS » 17 янв 2024, 06:22

yevrowl писал(а):образ дискеты версии 0.11 (0.1c) распаковать не удаётся. Ни одна известная мне программа для работы с образами

luafar макрос для распаковки образов ранних 8-дюймовых дискет 86-DOS

  • Сохранить его в файл, например, scp.lua рядом с файлом образа.
  • Встать в FARе на файл образа.
  • В другой панели перед этим открыть папку, куда нужно сохранить файлы.
  • Запустить макрос из командной строки, например,
    Код: Выделить всё
    lua: @scp.lua
SCP.lua :
Код: Выделить всё
local ffi=require'ffi'
imagepath = APanel.Path .. '\\' .. APanel.Current
targetpath = PPanel.Path
f = io.open(imagepath, 'rb')
f:setvbuf('full', 1024)

dirent = 16
-- 01 04 34 00 06 02 08 E2 01

size = 256 * 1001
image = f:read(size)

if #image < size then
   mf.printconsole 'OOPS!'
   exit() -- os.exit(1)
end

sys = 13 * 512
fat = 3 * 256
nfat = 2
root = 1024
BLK = 512

startroot = fat * nfat + sys

pimage = ffi.cast('const uint8_t*', image)
pfat = pimage + sys
proot =  pimage + startroot
pdata = proot

ok = 255 == pfat[0] and 255 == pfat[1] and 255 == pfat[2] and 255 == pfat[fat]  and 255 == pfat[1+fat] and 255 == pfat[2+fat]
if not ok then
   mf.printconsole 'FOOPS!'
   exit() -- os.exit(2)
end

directory={}
for i = 1, root, dirent do
   pentry = proot + (i - 1)
   s = pentry[0]
   if  s < 32 or s > 127 then
   else
   fname = ffi.string(pentry,8)
   ext = ffi.string(pentry + 8, 3)

   filename = fname:gsub(' -$','') -- "RTRIM"
   inode = pentry[11] + 256 * pentry[12]
   filesize = pentry[13] + 256 * ( pentry[14] + 256 * pentry[15] )
   mf.printconsole( filename..'.'..ext, filesize, inode )             
   directory[i]={name=filename..'.'..ext, start=inode, size=filesize }
   end 
end

maxclust = fat / 3 * 2
for  p,v in pairs(directory) do
    filename = targetpath..'/'..v.name
    of = io.open(filename,'w+b')
    of:setvbuf('full', 4096)
    inode = v.start
    size = v.size
    while inode < maxclust and size > 0 do
   blksize = size > BLK and BLK or size
        fragment = ffi.string(pdata + inode * BLK, blksize )
   of:write(fragment)
   size = size - blksize
        -- номер следующего кластера
   odd = inode % 2
        index = ( inode*3 - odd ) / 2
   inode = pfat[index] + 256 * pfat[1+index]
        if ( odd == 1 ) then inode = math.floor( inode / 16 ) else inode = inode % 4096 end
    end     
    of:close()
end



Во вложении - попытка обработать и 32-байтные элементы оглавления,
чтобы распаковывались все три .IMG из
ftp://bitsavers.informatik.uni-stuttgar ... ts/86-DOS/

К сожалению, последний блок CHESS.DOC взялся откуда-то не оттуда... :roll:
Так что пользоваться пока можно только тем, кто хочет обнаружить ещё какие-нибудь косяки.

Вложенный макрос исправлен: забыл в одном месте , что деление не целочисленное.
Можно тестировать всем, кому это интересно.
Вложения
d.zip
Исправленный макрос для извлечения файлов из образов ранних 8-дюймовых ГМД 86-DOS в FAR
(1.14 Кб) Скачиваний: 141
Последний раз редактировалось IOS 17 янв 2024, 15:57, всего редактировалось 3 раз(а).
Соблюдайте праила этикета и не спамте!
https://sigcomments.com/core/chat/init_ ... hat_id=555
Аватара пользователя
IOS
Мастер Даунгрейда
 
Сообщения: 220
Зарегистрирован: 18 июл 2023, 09:10
Железо: Гантельки 5 кг

Пред.След.

Вернуться в Программы для DOS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7