Как перевести древний код на asm86, в fasm11.10.2022, 18:11. Показов 7475. Ответов 42
Метки нет (Все метки)
1
|
||||||
| 11.10.2022, 18:11 | |
|
Ответы с готовыми решениями:
42
|
|
Модератор
|
||||||||
| 12.10.2022, 12:31 | ||||||||
|
У IBM PC DOS, SCP и MS-DOS разная нумерация версий.
https://github.com/microsoft/M... rce/IO.ASM Или машинонезависимую часть, которую в CP/M Gary Kildall написал вообще на PL/M, чтобы портировать на несовместимые по архитектуре процессоры? (аналог BDOS CP/M) https://github.com/microsoft/M... /MSDOS.ASM Добавлено через 10 минут https://youtu.be/YgDE-d4pfTc?t=1334
Есть образы, возможно, чуть более ранних версий. https://www.pcjs.org/software/... /ibm/0.90/
0
|
||||||||
| 12.10.2022, 19:16 [ТС] | |
|
Кароче сделал свой образ загрузочной дискеты 86-DOS(1.4мб), для ibm pc совместимого ПК, но у меня проблема с запуском программ. Думаю проблемма в COMMAND.COM, я его немного модифицировал .
86-DOS FOR FDD 3.5.ver.1.14.English.zip
0
|
|
|
Модератор
|
|
| 14.10.2022, 15:43 | |
EDLIN.COM, ASM.COM, HEX2BIN.COM и DEBUG.COM можно было протестировать и в FreeDOS, и в DOSBOX.Загрузчик транзитных команд (.COM и .EXE) в ранних версиях (MS-PC-86)DOS был встроен в COMMAND.COM.exec()-wait() ещё не было.
0
|
|
|
Модератор
|
|||||||||||||||||||||||||||||||||||||
| 16.10.2022, 09:23 | |||||||||||||||||||||||||||||||||||||
Чтобы загрузить DOS, осталось лишь переписать READ так, чтобы он работал на той платформе, на которой Вы хотите запускать свой форк 86-DOS. Чтобы дальше всё работало, конфигурацию дисков поменять на CUSTOM:
I/O System for 86-DOS(BIOS 86-DOS) нужно перенастроить с сегмента, начинающегося 0x400 сразу после таблицы векторов прерываний куда-нибудь повыше, на 0x50, 0x60 или 0x70.
Если самому программировать то, что на платформе эмулирует контроллеры FDC, DMA и т.п микросхемы, которые были в оригинальном IBM PC, не пользоваться IBM PC BIOS и обрабатывать прерывания внутри I/O System, то можно не перемещать наш 86-DOS BIOS на другие адреса.
0
|
|||||||||||||||||||||||||||||||||||||
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
| 19.10.2022, 06:41 | |
|
0
|
|
|
Модератор
|
|
| 19.10.2022, 11:14 | |
|
Это элемент ABI, выбранного Тимом для вызова из программ пользователя высокоуровневых функций совместимого с CP/M API:
26 : SET SUBSEQUENT DMA ADDRESShttps://www.nesssoftware.com/n... pdf#page=2 и для новых функций, не имевших прямых аналогов в CP/M
0
|
|
| 28.10.2022, 09:56 | |
|
0
|
|
| 28.10.2022, 10:21 [ТС] | |
|
Не по теме: politoto, к сожалению с умением у меня проблеммы
0
|
|
|
Модератор
|
|
| 08.11.2022, 09:17 | |
Booting from Hard Disk...
0
|
|
|
Модератор
|
|
| 14.11.2022, 15:52 | |
|
MaGz GoLd,
qemu-system-i386 -S -s -fda 86dos.144 -cursesПеред этим подправил вызовы BIOS в секторах 86-DOS так, как было предложено выше: https://www.cyberforum.ru/post16503891.html Набросал односекторную "86-IO", в которой кроме минимальной инициализации - только три первые функции, достаточные для работы CON:. На начальном этапе код BDOS и BIOS размещал там, где они должны быть, средствами qemu. Потом сделал образ диска с помощью mformat. В IPL record, которую сделал mformat, поменял номер диска, количество секторов и адрес, куда эти секторы нужно читать.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||
| 03.05.2023, 22:20 | |||
|
И не в конкретные сектора, а IO.SYS должен быть первым файлом на диске (дискете) и не иметь фрагментации. Это достаточное условие. Может быть не минимально достаточное, но такие тонкости что-то не интересовали. Добавлено через 18 минут
1
|
|||
|
Модератор
|
||
| 04.05.2023, 10:08 | ||
|
1
|
||
|
Модератор
|
||
| 05.05.2023, 19:14 | ||
|
Но, несомненно, могу и ошибаться - множество лет не пользовался дискетами.
0
|
||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 09.05.2023, 08:53 | |
|
0
|
|
|
Модератор
|
||
| 03.07.2023, 12:40 | ||
Сообщение было отмечено MaGz GoLd как решение
Решение
1
|
||
| 03.07.2023, 12:40 | |
|
Помогаю со студенческими работами здесь
40
Как адаптировать приведенный код под FASM
Как воспроизводить dll-файлы и код их чтения на отладчике xdbg? (FASM) Tasm в Fasm (перевести) Алгоритм RC4 (перевести FASM -> TASM) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|