VOGONS


First post, by mattnz

User metadata
Rank Newbie
Rank
Newbie

Hi all,

I started out wanting to write a 8086/8088 .OBJ file unit test framework, but got side tracked by the ability to run MS-DOS command line programs on my Apple Silicon Mac. I've concentrated on getting Borland development tools working, so the following runs successfully in your command shell/terminal: Turbo Assembler 3.2, Turbo Linker 3.0.1, Turbo Librarian 3.0, Turbo Pascal 5.5 & 6.0, and a program from Fabrice Bellard called INFOEXE.

[user@host ~]# xt run TASM.EXE

Turbo Assembler Version 3.2 Copyright (c) 1988, 1992 Borland International
Syntax: TASM [options] source [,object] [,listing] [,xref]
/a,/s Alphabetic or Source-code segment ordering
/c Generate cross-reference in listing
/dSYM[=VAL] Define symbol SYM = 0, or = value VAL
/e,/r Emulated or Real floating-point instructions
/h,/? Display this help screen
/iPATH Search PATH for include files
/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)
/kh# Hash table capacity # symbols
...

[user@host ~]# xt run TASM.EXE MORE.ASM

Turbo Assembler Version 3.2 Copyright (c) 1988, 1992 Borland International

Assembling file: MORE.ASM
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 795k

[user@host ~]#

The CPU emulation is rock solid due to it passing Single Step Test suite's 2.5 million tests - 10,000 per opcode (thanks to Daniel Balsom/MartyPC).

If others find it useful that's great. Pull requests welcome, as are suggestions on other MS-DOS command line programs people want to run.

GitHub: https://github.com/electricbolt/XT

XT - Run MS-DOS command line programs on Windows, Mac or Linux. Intel or ARM.
https://github.com/electricbolt/XT

Reply 1 of 5, by Ringding

User metadata
Rank Member
Rank
Member

So it is basically exactly like MS-DOS Player, but more accessible to us Westerners. I am looking forward to trying it!

Reply 2 of 5, by GloriousCow

User metadata
Rank Member
Rank
Member
mattnz wrote on 2025-05-27, 09:29:

Hi all,

I started out wanting to write a 8086/8088 .OBJ file unit test framework, but got side tracked by the ability to run MS-DOS command line programs on my Apple Silicon Mac. I've concentrated on getting Borland development tools working, so the following runs successfully in your command shell/terminal: Turbo Assembler 3.2, Turbo Linker 3.0.1, Turbo Librarian 3.0, Turbo Pascal 5.5 & 6.0, and a program from Fabrice Bellard called INFOEXE.

This is really cool!

mattnz wrote on 2025-05-27, 09:29:

The CPU emulation is rock solid due to it passing Single Step Test suite's 2.5 million tests - 10,000 per opcode (thanks to Daniel Balsom/MartyPC).

Glad you found them useful! It's always great seeing another emulator take advantage of them.

MartyPC: A cycle-accurate IBM PC/XT emulator | https://github.com/dbalsom/martypc

Reply 3 of 5, by mattnz

User metadata
Rank Newbie
Rank
Newbie
Ringding wrote on 2025-05-27, 13:49:

So it is basically exactly like MS-DOS Player, but more accessible to us Westerners. I am looking forward to trying it!

I hadn't come across that particular bit of software before, probably because it's Windows only, and I'm pretty much entirely on Mac these days (for my day job requirements). MS-DOS Player is obviously a way more feature complete emulation and handles full screen text mode DOS programs.

Let me know how you get on and what other programs you'd want to run. I'll probably look into getting Microsoft Assembler + Linker running at some point.

XT - Run MS-DOS command line programs on Windows, Mac or Linux. Intel or ARM.
https://github.com/electricbolt/XT

Reply 4 of 5, by mattnz

User metadata
Rank Newbie
Rank
Newbie
GloriousCow wrote on 2025-05-27, 17:26:

Glad you found them useful! It's always great seeing another emulator take advantage of them.

I wouldn't had bothered writing this if the test suite wasn't available. Like everyone else on this forum, it's been 35 years since i've done any 8086 assembler so I was very rusty on all the opcodes, segmented memory addressing etc. I must get on with implementing my unit test framework now, the original goal.

XT - Run MS-DOS command line programs on Windows, Mac or Linux. Intel or ARM.
https://github.com/electricbolt/XT

Reply 5 of 5, by mattnz

User metadata
Rank Newbie
Rank
Newbie

1.0.1 now released with updated xt (macOS/Linux) and xt.bat (Windows) scripts to allow running XT from anywhere on your system (assuming PATH is set).

XT - Run MS-DOS command line programs on Windows, Mac or Linux. Intel or ARM.
https://github.com/electricbolt/XT